python - 如何通过密码术解密由pycrypto在AES CTR模式下加密的文本
问题描述
我需要在 AES CTR 模式下解密由 pycrypto 加密的 FTP 密码,由于某种原因我必须使用密码术,那么如何解密?
我想知道密码学的随机数应该是什么?
这是 pycrypto 的加密代码
from Crypto.Util import Counter
from Crypto.Cipher import AES
def encrypt(text):
ctr = Counter.new(128, initial_value=1)
encrypto = AES.new(key, AES.MODE_CTR, counter=ctr)
encrypted = encrypto.encrypt(text)
return base64.b64encode(encrypted)
并通过密码学解密代码
from cryptography.hazmat.backends import default_backend
from cryptography.hazmat.primitives.ciphers import Cipher, algorithms, modes
def decrypt(text)
cipher = Cipher(algorithms.AES(key), None, backend=default_backend())
nonce = ?
cipher.mode = modes.CTR(nonce)
decryptor = cipher.decryptor()
decrypted = decryptor.update(encrypted.decode("base64"))
return decrypted
解决方案
推荐阅读
- arrays - Python多处理可迭代导致范围()中的错误索引
- python - 如何编辑这个简单的函数以按字母顺序正确排序列表中的字母和单词(Python)?
- scala - 如何在 Scala 中为 Map 和 Set 创建 ADT 标头
- php - 如何修复 Yii2:查看文件不存在错误?
- html - 图像上的 1px 边框在图像的顶部和右侧留下奇怪的白色间隙
- javascript - 模拟 Google/IDP 身份验证引发跨域帧错误
- amazon-web-services - Cloudfront 无法访问部署在 EBS 上的 Spring Boot 上的安全端点
- gcc - AERMOD 安装错误,使用自制软件和 gfortran
- facebook - web google auth 在 facebook 浏览器和 Messenger 中不起作用
- postgresql - 如何从云运行中的容器连接到 gcloud postgres db