PRIKEY=key.pem
PUBKEY=pub$(PRIKEY)
BITS=2048
# Use PUBKEY to encrypt, but use PRIKEY to decrypt
test="This is a test string"
genkey:
openssl genrsa -out $(PRIKEY) $(BITS)
openssl rsa -pubout -in $(PRIKEY) -out $(PUBKEY)
testrsa:
echo -n $(test) | openssl rsautl -encrypt -inkey $(PUBKEY) -pubin | openssl rsautl -decrypt -inkey $(PRIKEY)
testaes: echo -n $(test) | openssl aes-256-cbc -a -k password | openssl aes-256-cbc -a -k password -d
rm -f $(PRIKEY) $(PUBKEY) *.pem
直接輸入 make 就會產生 key.pem (private key) 及 pubkey.pem (public key)檔
輸入 make testrsa 或 make testaes 會測試編解碼程序是否將語句正確還原, make clean 會刪除所有 *.pem 檔
echo -n 是不要讓 echo 自動在語句上添加換行符號(\n), 接著將輸出傳給編碼程序,最後再傳給解碼程序, 還原出原始語句顯示在螢幕上
另外 openssl 可以使用 AES 將大的檔案編解碼
編碼:
openssl aes-256-cbc -a -k password -in inputfile -out encryptfile
解碼:
openssl aes-256-cbc -a -k password -d -in encryptfile -out orgfile
aes-256-cbc 使用 aes 256 byte 編/解碼
-a 是使用 base64 編/解碼, 方便瀏覽
-k password 可以輸入任何易記碼
-d 是開啟解碼程序-in 輸入所要的編/解碼檔案
-out 產生所要的輸出檔案
沒有留言:
張貼留言