Python實現DES、DES3、AES、RSA、MD5、SHA、HMAC加密方式及示例
阿新 • • 發佈:2019-01-03
對上述七中加密方式的整理,始於前端js對密碼加密實現的需要,目前使用最多是AES、RSA、MD5,當然這三個的巢狀和混合使用情況也比較多。
這應該是Python3目前最全的整理,所有案列都親自測試可行,並標註了使用的一些注意事項和說明。
目前總結有下面幾點:
對稱加密(加密解密金鑰相同):DES、DES3、AES
非對稱加密(分公鑰私鑰):RSA
資訊摘要演算法/簽名演算法:MD5、HMAC、SHA
前端實際使用中MD5、AES、RSA使用頻率是最高的
幾種加密方式配合次序:採用非對稱加密演算法管理對稱演算法的金鑰,然後用對稱加密演算法加密資料,用簽名演算法生成非對稱加密的摘要
DES、DES3、AES、RSA、MD5、SHA、HMAC傳入的訊息或者金鑰都是bytes資料型別,不是bytes資料型別的需要先轉換;金鑰一般是8的倍數
Python實現RSA中,在rsa庫中帶有生成簽名和校對簽名的方法
安全性:DES<DES3=AES<RSA,至於MD5、SHA、HMAC不好說了
具體使用示例見下:
原始碼上傳到github,點選閱讀原文或者後臺回覆:加密,可獲得github連線。
ID:Python之戰
|作|者|公(zhong)號:python之戰
專注Python,專注於網路爬蟲、RPA的學習-踐行-總結
喜歡研究和分享技術瓶頸,歡迎關注
獨學而無友,則孤陋而寡聞!