使用Triple DES解密数据会在原始文本末尾添加“\ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0”

时间:2012-06-01 01:00:39

标签: c# php encryption

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

对于某些数据,当我解密时,我会在原始文本末尾找到\0\0\0\0\0\0\0\0,这些文本是用PHP加密的。可能导致什么?

2 个答案:

答案 0 :(得分:5)

加密算法要求数据是特定字节数的倍数。如果数据长度不正确,则添加空字符以填充数据。这是你在解密后看到的。这是预期的,你只需要剥离它们。

答案 1 :(得分:1)

默认情况下,

mcrypt_encrypt使用较差的零填充选项。而是使用PKCS7填充,如mcrypt_encrypt页面上的用户评论中所述。