一、非对称加密(小文件)
openssl genrsa -out rsa2048.key 2048
- 从 rsa2048.key 密钥文件中提取出公钥 pub2048.key
openssl rsa -in rsa2048.key -pubout -out pub2048.key
- 使用 pub2048.key 公钥加密一个文件 (data.zip 为原始文件,back.zip 为加密之后的文件)
openssl rsautl -encrypt -inkey pub2048.key -pubin -in data.zip -out back.zip
openssl rsautl -decrypt -inkey rsa2048.key -in back.zip -out data1.zip
二、对称加密(支持大文件)
openssl rand -base64 4096 > color_key.bin
- 使用对称密钥加密大文件 (data.zip 为原始文件, out.zip 为加密之后的文件)
openssl enc -aes-256-cbc -a -iter 256 -pbkdf2 -in data.zip -out out.zip -pass file:./color_key.binexample:
openssl enc -aes-256-cbc -a -iter 256 -pbkdf2 -in Tifa_Rave-0.mp4 -out Tifa_Rave_cr.mp4 -pass file:./color_key.bin
openssl enc -d -aes-256-cbc -a -iter 256 -in out.zip -out data.zip -pass file:./color_key.binexample:
openssl enc -d -aes-256-cbc -a -iter 256 -in Tifa_Rave_cr.mp4 -out Tifa_Rave-2.mp4 -pass file:./color_key.bin
- 检查 md5,可以看见
Tifa_Rave-2.mp4
和 Tifa_Rave-0.mp4
的md5值是一样的:
$ md5sum.exe Tifa_Rave-2.mp4
b061ebd5694f3bee37ffc79c4c373f4f *Tifa_Rave-2.mp4$ md5sum.exe Tifa_Rave-0.mp4
b061ebd5694f3bee37ffc79c4c373f4f *Tifa_Rave-0.mp4$ md5sum.exe Tifa_Rave_cr.mp4
fc258e5601cdbbd6cc8100b7efa00399 *Tifa_Rave_cr.mp4