python AES加密解密 pycryptodome
阿新 • • 發佈:2018-04-20
掌握 mod pack 然而 http != col 技術 aes
環境 pyhton3.6
pip 升級到10.0以上,,不然可能出現裝不上的可能。
博主為了解碼 AES 用了1天的時間,安了各種包,然而走了很多坑,在這裏給大家提供一個簡便的方法
首先在命令行(推薦) pip install Crypto
你會發現安裝下來的包名 是小寫的。(crypto )
包的路徑在你python/lib/site_packages下
必須先改成大寫 (Crypto )
然而導入 from Crypto.Cipher import AES 還是報錯, 這是因為還需要安裝依賴的包.
命令行中 pip install pycrypto ...你發現好像有報錯, 那是因為這個包早就沒有人維護了, 別擔心一切都在掌握中!!!
查閱了大量的資料之後發現繼這個包之後,又出來一個新包 ---- pycryptodome --------
pip install pycrypto 安就行了,恭喜你成功了。
import base64 from Crypto.Cipher import AES # str不是16的倍數那就補足為16的倍數 def add_to_16(value): while len(value) % 16 != 0: value += ‘\0‘ return str.encode(value) # 返回bytes key = ‘123456‘ # 密碼 text = ‘abc123def456‘ # 待加密文本 aes = AES.new(add_to_16(key), AES.MODE_ECB) # 初始化加密器 encrypted_text = str(base64.encodebytes(aes.encrypt(add_to_16(text))), encoding=‘utf-8‘).replace(‘\n‘, ‘‘) # 執行加密並轉碼返回bytes print(encrypted_text)
附上測試代碼。
python AES加密解密 pycryptodome