天天看点

利用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就可以看到更多的安全算法了。

继续阅读