我正在使用Triple DES算法使用PHP加密数据。然后,我正在使用C#Windows窗体应用程序对其进行解密。
对于某些数据,当我解密时,我会在原始文本末尾找到\0\0\0\0\0\0\0\0
,这些文本是用PHP加密的。可能导致什么?
答案 0 :(得分:5)
加密算法要求数据是特定字节数的倍数。如果数据长度不正确,则添加空字符以填充数据。这是你在解密后看到的。这是预期的,你只需要剥离它们。
答案 1 :(得分:1)
mcrypt_encrypt
使用较差的零填充选项。而是使用PKCS7填充,如mcrypt_encrypt页面上的用户评论中所述。