#python3中aes要导入pycryptodome
from Crypto.Cipher import AES
from binascii import b2a_hex, a2b_hex#里面的修改的密码都要被16整除,包括初始的key都是被16位整除的
def add_to_16(value):
tmp_val = value.encode('utf-8')
m = 16 - (len(tmp_val) % 16)
if m != 0:
for i in range(m):
value += '\0'
return str.encode(value)
def secret():
key = '**********'
text = '{"****":1000000000,"****":"银行","fromWay":"****","****":"1000000000","****":1000000,"****":"1"}'
aes = AES.new(key.encode("utf-8"), AES.MODE_ECB)
encrypt_aes = aes.encrypt(add_to_16(text))
text = b2a_hex(encrypt_aes)
text = str(text, encoding=('utf-8'))
return text
def decrypt(text):
key = '054eda8889ea6240'
aes = AES.new(key.encode('utf-8'), AES.MODE_ECB)
plain_text = aes.decrypt(a2b_hex(text))
ss = str(plain_text, encoding='utf-8')
print(ss.rstrip('\0'))
text = secret()
print(text)