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

本文介绍了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进制表示》(http://blog.csdn.net/jasonhwang/article/details/7315997)。

 

展开阅读全文

没有更多推荐了,返回首页