hitomi666 发表于 2021-10-17 16:00

python AES解密


python 用代码的方式怎么实现

小小的石头13 发表于 2021-10-17 17:21

我记得好像有个加解密的库来着,你找找。或者用笨方法,请求api

gusong125 发表于 2021-10-17 17:46

"""
ECB没有偏移量
"""
from Crypto.Cipher import AES
from binascii import b2a_hex, a2b_hex


def add_to_16(text):
    if len(text.encode('utf-8')) % 16:
      add = 16 - (len(text.encode('utf-8')) % 16)
    else:
      add = 0
    text = text + ('\0' * add)
    return text.encode('utf-8')


# 加密函数
def encrypt(text):
    key = '9999999999999999'.encode('utf-8')
    mode = AES.MODE_ECB
    text = add_to_16(text)
    cryptos = AES.new(key, mode)

    cipher_text = cryptos.encrypt(text)
    return b2a_hex(cipher_text)


# 解密后,去掉补足的空格用strip() 去掉
def decrypt(text):
    key = '9999999999999999'.encode('utf-8')
    mode = AES.MODE_ECB
    cryptor = AES.new(key, mode)
    plain_text = cryptor.decrypt(a2b_hex(text))
    return bytes.decode(plain_text).rstrip('\0')


if __name__ == '__main__':
    e = encrypt("hello world")# 加密
    d = decrypt(e)# 解密
    print("加密:", e)
    print("解密:", d)

hitomi666 发表于 2021-10-17 20:35

自己已找到办法解决了
页: [1]
查看完整版本: python AES解密