您的位置:首页 > 运维架构

实用命令:利用openssl进行BASE64编码解码、md5/sha1摘要、AES/DES3加密解密

2008-04-27 21:33 841 查看
本文介绍了openssl的几个实用命令,利用openssl进行BASE64编码解码、md5/sha1摘要、AES/DES3加密解密。

一. 利用openssl命令进行BASE64编码解码(base64 encode/decode)

1. BASE64编码命令

对字符串‘abc’进行base64编码:

# echo abc | openssl base64

YWJjCg== (编码结果)

如果对一个文件进行base64编码(文件名t.txt):

# openssl base64 -in t.txt

2. BASE64解码命令

求base64后的字符串‘YWJjCg==’的原文:

# echo YWJjCg== | openssl base64 -d

abc (解码结果)

如果对一个文件进行base64解码(文件名t.base64):

# openssl base64 -d -in t.base64

二. 利用openssl命令进行md5/sha1摘要(digest)

1. 对字符串‘abc’进行md5摘要计算:echo abc | openssl md5

若对某文件进行md5摘要计算:openssl md5 -in t.txt

2. 对字符串‘abc’进行sha1摘要计算:echo abc | openssl sha1

若对某文件进行sha1摘要计算:openssl sha1 -in t.txt

三. 利用openssl命令进行AES/DES3加密解密(AES/DES3 encrypt/decrypt)

对字符串‘abc’进行aes加密,使用密钥123,输出结果以base64编码格式给出:

# echo abc | openssl aes-128-cbc -k 123 -base64

U2FsdGVkX18ynIbzARm15nG/JA2dhN4mtiotwD7jt4g= (结果)

对以上结果进行解密处理:

# echo U2FsdGVkX18ynIbzARm15nG/JA2dhN4mtiotwD7jt4g= | openssl aes-128-cbc -d -k 123 -base64

abc (结果)

若要从文件里取原文(密文)进行加密(解密),只要指定 -in 参数指向文件名就可以了。

进行des3加解密,只要把命令中的aes-128-cbc换成des3就可以了。

注:只要利用openssl help就可以看到更多的安全算法了。

另外,16进制与base64字符串互转的方法请参考《实用命令:利用openssl和xxd命令把16进制字符串转换为base64字符串或把base64转成16进制表示》(/article/8294754.html)。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: