0

我正在使用 Triple DES 算法使用 PHP 加密数据。然后,我使用 C# Windows 窗体应用程序对其进行解密。

有了一些数据,当我解密它时,我发现\0\0\0\0\0\0\0\0原始文本的末尾是用 PHP 加密的。可能是什么原因造成的?

4

2 回答 2

5

加密算法要求数据是一定字节数的倍数。如果数据的长度不正确,则会添加空字符来填充数据。这是你解密后看到的。这是意料之中的,您只需要剥离它们。

于 2012-06-01T01:03:42.250 回答
1

mcrypt_encrypt默认情况下使用零填充的错误选择。而是使用 PKCS7 填充,如mcrypt_encrypt页面上的用户评论中所述。

于 2012-06-01T01:05:24.023 回答