pip|pip install pycryptodome python3 AES
当然我也是通过官方推荐,使用下面命令去下载安装的,pip就是好用。。。
pip install pycryptodome
改名了才知道,全是眼泪~~
#AES-demo
"""
@author: sy
@file: python_AES.py
@time: 2017/12/12 09:10
@desc: AES加密
"""
from Crypto.Cipher import AES
#秘钥,此处需要将字符串转为字节
key = b'abcdefgh'
#加密内容需要长达16位字符,所以进行空格拼接
def pad(text):
while len(text) % 16 != 0:
【pip|pip install pycryptodome python3 AES】text += b' '
return text
#加密秘钥需要长达16位字符,所以进行空格拼接
def pad_key(key):
while len(key) % 16 != 0:
key += b' '
return key
#进行加密算法,模式ECB模式,把叠加完16位的秘钥传进来
aes = AES.new(pad_key(key), AES.MODE_ECB)
#加密内容,此处需要将字符串转为字节
text = b'woshijiamineirong'
#进行内容拼接16位字符后传入加密类中,结果为字节类型
encrypted_text = aes.encrypt(pad(text))
print(encrypted_text)
#此处是为了验证是否能将字节转为字符串后,进行解密成功
#实际上a 就是 encrypted_text ,也就是加密后的内容
a = b'\xb9K\xe8_.q\x1c!\x9f\xa2\xc8\x06\xf5\xc1\xd07'
#用aes对象进行解密,将字节类型转为str类型,错误编码忽略不计
de = str(aes.decrypt(a),encoding='utf-8',errors="ignore")
#获取str从0开始到文本内容的字符串长度。
print(de[:len(text)])
推荐阅读
- Android|Android install 多个设备时指定设备
- oracle|oracle java jdk install
- pyinstaller解决闪退问题
- Angular|Angular 日期管道 datePipe - dateFormat
- loader
- ubuntu下安装python3.6及以上版本出现pip3报错等问题
- IDEA|IDEA 中使用MAVEN Install 项目的时候 报 org.apache.maven.plugins:maven-surefire-plugin:2.18.1:test failed
- pip更换国内源
- DataPipeline官宣(前Teradata中国区金融行业总经理黄海硕出任DataPipeline高级销售副总裁)
- DataPipeline与腾讯云数据库TDSQL完成产品兼容性互认证,持续建设共赢生态