對上述七中加密方式的整理,始於前端js對密碼加密實現的需要,目前使用最多是AES、RSA、MD5,當然這三個的嵌套和混合使用情況也比較多。

這應該是Python3目前最全的整理,所有案列都親自測試可行,並標註了使用的一些注意事項和說明。

目前總結有下面幾點:

  1. 對稱加密(加密解密密鑰相同):DES、DES3、AES
  2. 非對稱加密(分公鑰私鑰):RSA
  3. 信息摘要演算法/簽名演算法:MD5、HMAC、SHA
  4. 前端實際使用中MD5、AES、RSA使用頻率是最高的
  5. 幾種加密方式配合次序:採用非對稱加密演算法管理對稱演算法的密鑰,然後用對稱加密演算法加密數據,用簽名演算法生成非對稱加密的摘要
  6. DES、DES3、AES、RSA、MD5、SHA、HMAC傳入的消息或者密鑰都是bytes數據類型,不是bytes數據類型的需要先轉換;密鑰一般是8的倍數
  7. Python實現RSA中,在rsa庫中帶有生成簽名和校對簽名的方法
  8. 安全性:DES<DES3=AES<RSA,至於MD5、SHA、HMAC不好說了

具體使用示例見下:

源碼上傳到github,點擊閱讀原文或者後臺回復:加密,可獲得github連接。

------------------------------

ID:Python之戰

|作|者|公(zhong)號:python之戰

專註Python,專註於網路爬蟲、RPA的學習-踐行-總結

喜歡研究和分享技術瓶頸,歡迎關注

獨學而無友,則孤陋而寡聞!

---------------------------


推薦閱讀:
相關文章