介绍
这篇文章将为大家详细讲解有关如何使用python实现AES加密与解密,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
AES加密方式有五种:央行,CBC, CTR,循环流化床,富含
b从安全性角度推荐CBC加密方法,本文介绍了CBC,央行两种加密方法的python实现
python在Windows下使用AES时要安装的是pycryptodome模块,,
pip安装pycryptodome
引用>python在Linux下使用AES时要安装的是pycrypto模块,,
pip安装pycrypto
引用>CBC加密需要一个十六位的关键(密钥)和一个十六位iv(偏移量)
央行加密不需要四
<强> AES CBC加密的python实现强>
得到Crypto.Cipher import AES 得到binascii import b2a_hex a2b_hex #,如果文本不足16位的倍数就用空格补足为16位 def add_to_16(文本): ,if len (text.encode (& # 39; utf - 8 # 39;)), %, 16:=,add 16,安康;(len (text.encode (& # 39; utf - 8 # 39;)), %, 16) ,其他的: add =, 0=,,text  text +,(& # 39; \ 0 & # 39;, *,添加) ,return text.encode (& # 39; utf - 8 # 39;) #,加密函数 def 加密(文本):=,key & # 39; 9999999999999999 & # 39; .encode (& # 39; utf - 8 # 39;)=,mode  AES.MODE_CBC=,iv b # 39; qqqqqqqqqqqqqqqq& # 39;=,,text  add_to_16(文本)=,,cryptos  AES.new(钥匙,,模式,,(四)=,,cipher_text  cryptos.encrypt(文本) ,#因为AES加密后的字符串不一定是ascii字符集的,输出保存可能存在问题,所以这里转为16进制字符串 ,return b2a_hex (cipher_text) #,解密后,去掉补足的空格用带(),去掉 def 解密(文本):=,key & # 39; 9999999999999999 & # 39; .encode (& # 39; utf - 8 # 39;)=,iv b # 39; qqqqqqqqqqqqqqqq& # 39;=,mode  AES.MODE_CBC=,,cryptos  AES.new(钥匙,,模式,,(四)=,,plain_text  cryptos.decrypt (a2b_hex(文本) ,return bytes.decode (plain_text) .rstrip (& # 39; \ 0 & # 39;) if __name__ ==, & # 39; __main__ # 39;:=,e 加密(“hello world"), #,加密=,,d 解密(e), #,解密 ,打印(“加密:“,,e) ,打印(“解密:“,,d)AES央行加密的python实现
“““ 欧洲央行没有偏移量 “““ 得到Crypto.Cipher import  AES 得到binascii import b2a_hex a2b_hex def add_to_16(文本): ,if len (text.encode (& # 39; utf - 8 # 39;)), %, 16:=,add 16,安康;(len (text.encode (& # 39; utf - 8 # 39;)), %, 16) ,其他的: add =, 0=,,text  text +,(& # 39; \ 0 & # 39;, *,添加) ,return text.encode (& # 39; utf - 8 # 39;) #,加密函数 def 加密(文本):=,key & # 39; 9999999999999999 & # 39; .encode (& # 39; utf - 8 # 39;)=,mode  AES.MODE_ECB=,,text  add_to_16(文本)=,,cryptos  AES.new(钥匙,,模式)=,,cipher_text  cryptos.encrypt(文本) ,return b2a_hex (cipher_text) #,解密后,去掉补足的空格用带(),去掉 def 解密(文本):=,key & # 39; 9999999999999999 & # 39; .encode (& # 39; utf - 8 # 39;)=,mode  AES.MODE_ECB=,,cryptor  AES.new(钥匙,,模式)=,,plain_text  cryptor.decrypt (a2b_hex(文本) ,return bytes.decode (plain_text) .rstrip (& # 39; \ 0 & # 39;) if __name__ ==, & # 39; __main__ # 39;:=,e 加密(“hello world"), #,加密=,,d 解密(e), #,解密 ,打印(“加密:“,,e) ,打印(“解密:“,,d)关于“如何使用python实现AES加密与解密”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看的到。
如何使用python实现AES加密与解密