本文介紹了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就可以看到更多的安全算法了。