如何使用python实现AES加密与解密

  介绍

这篇文章将为大家详细讲解有关如何使用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加密与解密