python 利用Crypto进行ECB 加密windows下使用AES时安装pycryptodome 模块,pip install pycryptodome
linux 下使用AES时安装pycrypto模块,pip install pycrypto
```
from Crypto.Cipherimport AES
from binasciiimport b2a_hex, a2b_hex
from Cryptoimport Random
import base64
import json
class AesEncry(object):
# aes秘钥 , 可根据自身需要手动生成
key ="aes_keysaes_keysaes_keys"
def encrypt(self, data):
data = https://www.04ip.com/post/json.dumps(data)
mode = AES.MODE_ECB
padding =lambda s: s + (16 -len(s) %16) *chr(16 -len(s) %16)
cryptos = AES.new(self.key.encode("utf-8"), mode)
cipher_text = cryptos.encrypt(padding(data).encode("utf-8"))
return base64.b64encode(cipher_text).decode("utf-8")
def decrypt(self, data):
cryptos = AES.new(self.key.encode("utf-8"), AES.MODE_ECB)
decrpytBytes = base64.b64decode(data)
meg = cryptos.decrypt(decrpytBytes).decode('utf-8')
return meg[:-ord(meg[-1])]
aes_encry_util = AesEncry()
#明文
data ="https://www.04ip.com/post/mypwd_test"
#加密
encry_data = https://www.04ip.com/post/aes_encry_util.encrypt(data)
print(encry_data)
【python中aes函数 python aes gcm】 # 对密文进行解密
decry_data = https://www.04ip.com/post/aes_encry_util.decrypt(encry_data)
print(decry_data)
```
如上便完成了利用python进行AES的ECB加密
python3 安装Crypto.Cipher import AES问题背景:
m3u8文件加密时,使用“from Crypto.Cipher import AES”相关函数解密:
#EXT-X-KEY 记录了加密的方式,一般是AES-128以及加密的KEY信息
出现问题:
from Crypto.Cipher import AES
pip install Crypto
出错
解决办法:
安装crypto库(首字母c是小写)
pip install crypto
进入python的库管理位置,site-packages文件夹,找到crypto,将其首字母c改为大写
判断是否解决的方式:
from Crypto.Cipher import AES
不会报错,说明成功 。
备注:
如果在C:\Python36\Lib\site-packages\Crypto目录下没有找到:\Cipher目录 。
可以尝试安装pycryptodome库 或 pycrypto库:
pip install pycryptodome
pip install pycrypto (安装这个库,基本会失败,会报错)
什么是AES?AES加密函数和AES解密函数它被预期能成为人们公认python中aes函数的加密包括金融、电信和政府数字信息python中aes函数的方法 。AES 是一个新的可以用于保护电子数据的加密算法 。明确地说python中aes函数,AES 是一个迭代的、对称密钥分组的密码,它可以使用128、192 和 256 位密钥,并且用 128 位(16字节)分组加密和解密数据 。与公共密钥密码使用密钥对不同,对称密钥密码使用相同的密钥加密和解密数据 。通过分组密码返回的加密数据 的位数与输入数据相同 。迭代加密使用一个循环结构,在该循环中重复置换(permutations )和替换(substitutions)输入数据 。Figure 1 显示python中aes函数了 AES 用192位密钥对一个16位字节数据块进行加密和解密的情形 。
python3使用AES报错ImportError: cannot import name '_AES'解决方法导致这种错误的原因是没有正确安装AES库,执行下面命令安装Python3版本的AES库:
pipinstall pycryptodome
------------------------------
ID:Python之战
|作|者|公(zhong)号:python之战
专注Python , 专注于网络爬虫、RPA的学习-践行-总结
喜欢研究和分享技术瓶颈 , 欢迎关注
独学而无友,则孤陋而寡闻!
---------------------------
python中aes函数的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于python aes gcm、python中aes函数的信息别忘了在本站进行查找喔 。
推荐阅读
- 直播伴侣个性边框,直播伴侣基础设置
- 手机怎么默认安装到u盘,手机怎么默认安装到u盘上
- 小说直播教程设置,小说直播教程设置在哪里
- php数据结构函数 php 数据结构
- 怎么用钉钉看电视上的课,钉钉直播课怎么在电视上看
- postgresql唯一id的简单介绍
- 关于postgresql确定数据所在分区的信息
- 在php中接收表单数据 php获取表单数据保存到mysql中
- nova7se能升级鸿蒙吗,nova7se5g可以升级鸿蒙吗