Python3 pycryptodome 加密解密使用

python版本:3.5.5

Windows操作系統CMD下安裝pycryptodome

python -m pip install pycryptodome

代碼如下:

# -*- coding: utf-8 -*-
from Crypto.Cipher import AES

# 祕鑰和文本都是byte類型
# 拼接文本,文本長度需爲16的倍數,不足則拼接空格
def splice(text):
    while len(text) % 16 != 0:
        text += b' '
    return text
# 拼接祕鑰,祕鑰長度需爲16的倍數,不足則拼接空格
def splice_key(key):
    while len(key) % 16 != 0:
        key += b' '
    return key


if __name__ == '__main__':
    key = b'12345'  # 祕鑰
    aes = AES.new(splice_key(key), AES.MODE_ECB)  # 根據祕鑰初始化加密器
    text = b'jiamiwenben'  # 加密文本

    encrypted_byte = aes.encrypt(splice(text))  # 使用加密器的加密方法對文本進行加密,返回加密結果(byte類型)
    print("encrypted_byte: ", encrypted_byte)

    decrypt_byte = aes.decrypt(encrypted_byte)  # 使用加密器的解密方法對文本進行解密,返回解密結果(byte類型)
    print("decrypt_str: ", str(decrypt_byte, encoding='utf-8', errors="ignore"))  # 將字節類型轉爲str類型,錯誤編碼忽略不計

參考:
ECB mode
python3.6執行AES加密及解密方法

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章