首页 > 解决方案 > 如何通过密码术解密由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

标签: pythoncryptographypycrypto

解决方案


推荐阅读