我在Python中使用AES加密/解密时遇到了一个问题,解密后我收到了unicode替换字符,我不知道如何正确地进行。从其他答案中我发现了我的错误所在(我使用的是加密文本,是字节,不是字符串),我想使用base64,但是我得到了一个错误。我试试看:with open ('pub.key', 'rt') as pub_key:
public_key = RSA.importKey(pub_key.read())
base64.b64encode(public_key.encrypt(file_content, key_size))
错误是:
^{pr2}$
它可能很容易修复,但我找不到方法。在
编辑:
我一直在尝试按照@Jean-fraçois Fabre的建议来做,但是解码仍然有问题,我的意思是我得到了unicode替换字符作为回报。
以下是我如何破译的:with open ('priv.key', 'rt') as priv_key:
private_key = RSA.importKey(priv_key.read())
return private_key.decrypt(base64.b64decode(content))
结果是:g��q@~w%8����[��P��"�����?�)���&�q���1�g�}�w��d[�`�0j^y���4p
对于具有伪结构目录的输入file_content(key_size是16):file_content = "----------------------------------------------------------------------------------------------------
/home/pawel/custom_folder/documentA.md
----------------------------------------------------------------------------------------------------
/home/pawel/custom_folder/catalogA/documentA.md
----------------------------------------------------------------------------------------------------
/home/pawel/custom_folder/catalogA/documentB.md
----------------------------------------------------------------------------------------------------
/home/pawel/custom_folder/catalogB/documentA.md
Zawartosc katalogu A!
----------------------------------------------------------------------------------------------------
/home/pawel/custom_folder/catalogB/other.json
{
"bank": "ING Online",
"user": "franek0057",
"pswd": "fauDA41"
}
----------------------------------------------------"