openssl加解密

当我们拿到一个des对称加密的密文后,可以用openssl这个软件包进行解密。里面集成了很多密码学的加密方式。

1
2
3
6XaMMbM7

U2FsdGVkX18IBEATgMBe8NqjIqp65CxRjjMxXIIUxIjBnAODJQRkSLQ/+lHBsjpv1BwwEawMo1c=

遇到的问题

在解密时,没有添加-a参数,导致显示bad magic number

原因是由于文件加密后是二进制形式,不方便查看,使用该参数可以使加密后的内容经过base64编码,使其可读;同样,解密时需要先进行base64解编码,然后进行解密操作。

加密

1
2
3
4
5
6
7
openssl enc -aes-256-cbc -salt -in file.txt -out file.txt.enc

enc代表encode,加密
-aes-256-cbc 代表加密方式
-salt 增加加密强度
-in 设置输入文件
-out设置输出文件

如果没有设置-salt选项,很容易导致字典暴力破解

解密

1
2
3
4
5
6
7
openssl enc -des -d -salt -a -in passfile -out outfile
-d 解密
-in、-out同上所述
[-a/-base64]
由于文件加密后是二进制形式,不方便查看,使用该参数可以使加密后的内容经过base64编码,使其可读;同样,解密时需要先进行base64解编码,然后进行解密操作。
[-k/-kfile]
兼容以前版本,指定密码输入方式,现已被pass参数取代