0

我正在使用 PyCrypto Python 库尝试使用密码加密 .jpg 图像文件。然而,每当我解密文件并打开它时,它看起来就像一道彩虹,虽然你可以隐约看到原始图像,但它看起来一点也不像。我想知道质量在哪里丢失?我的猜测是,当我填充文件时(你知道,因此长度是 8 的倍数,这是 DES 需要的),我使用 '{' 字符这样做,当我解密文件时,我使用decryptedFileText .replace('{',''),你知道,去掉填充字符,但同时,我可能会删除其他对图像质量至关重要的 '{' 字符。我想知道是否有人知道一种可以解决此问题的填充文件的方法,或者我是否完全错过了这个问题。

4

1 回答 1

1

填充文件时,请确保填充字符与文件中的最后一个字节不同。删除填充时,从文件末尾删除具有相同值的字节,最多连续 8 个。如果原始文件的长度是 8 的倍数,则添加 8 个填充字节,与文件中的最终值不同。

如果以这种方式填充文件,请不要使用 replace(),它将对整个文件进行操作,而是使用类似decryptedFileText = decryptedFileText.rstrip(decryptedFileText[-1]).

于 2013-08-13T18:37:15.670 回答