Linux中openssl命令的使用
openssl是一个用C语言实现的SSL协议软件包,Linux可以使用openssl进行一些命令行操作,下面的三个功能是经常用到的。
1、base64编码
给文件text.txt用base64编码,结果输出到base64.txt中的命令:
openssl base64 -e -in text.txt -out base64.txt
相应的base64解码的命令如下:将base64.txt解码到books.txt这个文件中:
openssl base64 -d -in base64.txt -out books.txt
2
、计算哈希值,校验文件的一致性。方法有很多,比如
sum、cksum、md5sum、sha1sum等,sum和cksum适用于比较简单的场合,md5sum有安全漏洞,sh1sum跨平台性不好,因此openssl是最好的选择。命令使用方法如下:
openssl dgst -sha1 filename 或 openssl sha1 filename
3、openssl支持很多加密解密的算法,如AES、DES、RC2、RC5等,这里举例说明使用DES这种方法的加解密命令:
openssl enc -des -e -a -in filename -out filename2 (加密)
openssl enc -des -d -a -in filename2 -out filename (解密)
但是每次运行这个命令都要手动输入秘钥,有个方式可以不用每次都输入,只设置一次就可以,特别是在程序中,命令如下:
openssl enc -des -e -a -pass pass:123 -in filename -out filename2 (这里设置的秘钥是123,可随意设置)
openssl enc -des -d -a -pass pass:123 -in filename2 -ont filename (解密)