python简单实现AES加密和解密
本文实例为大家分享了python实现AES加密和解密的具体代码,供大家参考,具体内容如下
参考:python实现AES加密和解密
AES加密算法是一种对称加密算法,他有一个密匙,即用来加密,也用来解密
importbase64
fromCrypto.CipherimportAES
#密钥(key),密斯偏移量(iv)CBC模式加密
defAES_Encrypt(key,data):
vi='0102030405060708'
pad=lambdas:s+(16-len(s)%16)*chr(16-len(s)%16)
data=pad(data)
#字符串补位
cipher=AES.new(key.encode('utf8'),AES.MODE_CBC,vi.encode('utf8'))
encryptedbytes=cipher.encrypt(data.encode('utf8'))
#加密后得到的是bytes类型的数据
encodestrs=base64.b64encode(encryptedbytes)
#使用Base64进行编码,返回byte字符串
enctext=encodestrs.decode('utf8')
#对byte字符串按utf-8进行解码
returnenctext
defAES_Decrypt(key,data):
vi='0102030405060708'
data=data.encode('utf8')
encodebytes=base64.decodebytes(data)
#将加密数据转换位bytes类型数据
cipher=AES.new(key.encode('utf8'),AES.MODE_CBC,vi.encode('utf8'))
text_decrypted=cipher.decrypt(encodebytes)
unpad=lambdas:s[0:-s[-1]]
text_decrypted=unpad(text_decrypted)
#去补位
text_decrypted=text_decrypted.decode('utf8')
returntext_decrypted
key='0CoJUm6Qyw8W8jud'
data='sdadsdsdsfd'
AES_Encrypt(key,data)
enctext=AES_Encrypt(key,data)
print(enctext)
text_decrypted=AES_Decrypt(key,enctext)
print(text_decrypted)
hBXLrMkpkBpDFsf9xSRGQQ== sdadsdsdsfd
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。