我正在使用 Triple DES 算法使用 PHP 加密数据。然后,我使用 C# Windows 窗体应用程序对其进行解密。
有了一些数据,当我解密它时,我发现\0\0\0\0\0\0\0\0
原始文本的末尾是用 PHP 加密的。可能是什么原因造成的?
我正在使用 Triple DES 算法使用 PHP 加密数据。然后,我使用 C# Windows 窗体应用程序对其进行解密。
有了一些数据,当我解密它时,我发现\0\0\0\0\0\0\0\0
原始文本的末尾是用 PHP 加密的。可能是什么原因造成的?
加密算法要求数据是一定字节数的倍数。如果数据的长度不正确,则会添加空字符来填充数据。这是你解密后看到的。这是意料之中的,您只需要剥离它们。
mcrypt_encrypt
默认情况下使用零填充的错误选择。而是使用 PKCS7 填充,如mcrypt_encrypt页面上的用户评论中所述。