天天看點

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

繼續閱讀