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