AES(高级加密)
Posted karina梅梅
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了AES(高级加密)相关的知识,希望对你有一定的参考价值。
AES(高级加密)
#3.6安装 pip3 install pycryptodome #mac pip3 install pycrypto
a. 事例:
############################### 加密 ############################## from Crypto.Cipher import AES def encrypt(message): key = b\'dfdsdfsasdfdsdfs\' #key必须是16的整数倍 cipher = AES.new(key, AES.MODE_CBC, key) #创建对象 ---------------------------------------------- #先转成字节,把数据拼够16字节的整数倍 ba_data = bytearray(message,encoding=\'utf-8\') #把数据转成bytearray(byte的数组),bytearray只能追加数字,默认把数字转成字节 v1 = len(ba_data) v2 = v1 % 16 if v2 == 0: v3 = 16 else: v3 = 16 - v2 #v3是追加的长度 for i in range(v3): ba_data.append(v3) #bytearray只能追加数字,默认把数字转成字节 final_data = ba_data.decode(\'utf-8\') ---------------------------------------------- msg = cipher.encrypt(final_data) #要加密的字符串,必须是16个字节或16个字节的倍数,加密后是byte格式 return msg ############################### 解密 ############################## def decrypt(msg): key = b\'dfdsdfsasdfdsdfs\' cipher = AES.new(key, AES.MODE_CBC, key) result = cipher.decrypt(msg) #把加密后的字节解密成不加密的字节 data = result[0:-result[-1]] return str(data,encoding=\'utf-8\')
以上是关于AES(高级加密)的主要内容,如果未能解决你的问题,请参考以下文章
对称加密与解密剖析:AES,高级加密标准(Advanced Encryption Standard,缩写AES)