实用命令:利用openssl进行BASE64编码解码、md5/sha1摘要、AES/DES3加密解密
1 BASE64编码解码(base64 encode/decode)
1.1 BASE64编码命令
# 对字符串‘abc’进行base64编码:
[root@lighthouse ~]# echo abc | openssl base64
YWJjCg== # (编码结果)
# 如果对一个文件进行base64编码(文件名t.txt):
[root@lighthouse ~]# openssl base64 -in t.txt
1.2 BASE64解码命令
# 求base64后的字符串‘YWJjCg==’的原文:
[root@lighthouse ~]# echo YWJjCg== | openssl base64 -d
abc #(解码结果)
# 如果对一个文件进行base64解码(文件名t.base64):
[root@lighthouse ~]# openssl base64 -d -in t.base64
2 md5/sha1摘要(digest)
2.1 md5
# 对字符串‘abc’进行md5摘要计算
[root@lighthouse ~]# echo abc | openssl md5
# 若对某文件进行md5摘要计算
[root@lighthouse ~]# openssl md5 -in t.txt
2.2 sha1摘要
# 对字符串‘abc’进行sha1摘要计算
[root@lighthouse ~]# echo abc | openssl sha1
# 若对某文件进行sha1摘要计算
[root@lighthouse ~]# openssl sha1 -in t.txt
3. AES/DES3加密解密(AES/DES3 encrypt/decrypt)
以下以AES加解密为例
进行des3加解密,只要把命令中的aes-128-cbc换成des3就可以了。
3.1 AES加密
# 对字符串‘abc’进行aes加密,使用密钥123,输出结果以base64编码格式给出:
[root@lighthouse ~]# echo abc | openssl aes-128-cbc -k 123 -base64
U2FsdGVkX18ynIbzARm15nG/JA2dhN4mtiotwD7jt4g= #(结果)
3.2 AES解密
# aes解密处理:
[root@lighthouse ~]# echo U2FsdGVkX18ynIbzARm15nG/JA2dhN4mtiotwD7jt4g= | openssl aes-128-cbc -d -k 123 -base64
abc # (结果)
若要从文件里取原文(密文)进行加密(解密),只要指定 -in 参数指向文件名就可以了。
注:只要利用openssl help就可以看到更多的安全算法了。