1. 首先需要使用 openssl 生成一个 2048 位的密钥 rsa.key 文件 (rsa.key 密钥文件中包含了私钥和公钥)

# openssl genrsa -out rsa.key 2048

2. 然后从 rsa.key 密钥文件中提取出公钥 pub.key

# openssl rsa -in rsa.key -pubout -out pub.key

3. 使用 pub.key 公钥加密一个文件 (data.zip 为原始文件,back.zip 为加密之后的文件)

# openssl rsautl -encrypt -inkey pub.key -pubin -in data.zip -out back.zip

4. 使用 rsa.key 私钥解密一个文件 (back.zip 为加密的文件,data.zip 为解密之后的文件)

# openssl rsautl -decrypt -inkey rsa.key -in back.zip -out data.zip

5.上面的加密对大文件就不适用了,可以考虑使用

openssl enc -aes-256-cbc -salt -in mylog -out mylog.back -pass file:mykey.bin
或者使用密码:
openssl enc -aes-256-cbc -salt -in mylog -out mylog.back -pass pass:123456

解密使用

openssl enc -d -aes-256-cbc -in log.back -out log -pass file:mykey.bin
或者使用密码:
openssl enc -d -aes-256-cbc -in log.back -out log -pass pass:123456

其中,mykey.bin可以使用命令生成

openssl rand -base64 32 > mykey.bin

详细使用:https://www.cnblogs.com/gordon0918/p/5317701.html

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐