使用PHP进行DES ECB加密

时间:2016-10-13 08:14:28

标签: php encryption des ecb

https://www.tools4noobs.com/online_tools/encrypt/将“a67a318c98a0307502ba81caade2f3a9”作为密钥“1234567890abcdef”和有效负载“加密”的DES ECB结果。

PHP代码

echo bin2hex(mcrypt_encrypt(
    MCRYPT_DES,
    hex2bin("1234567890abcdef"),
    "encrypt this",
    MCRYPT_MODE_ECB)) . "\n";

打印出“1a29ee87f2ad67644ff28450c676a664”。

代码出了什么问题?

1 个答案:

答案 0 :(得分:2)

noobs4tools 网站删除了hex2bin功能,并将密钥长度截断为8个字符(正如Yoshi在评论中所述)。

密钥大小为12345678,网站和PHP代码的输出是一致的。

DES密钥大小在手册中说明为56位。请阅读以下有关DES特定密钥的一些有用背景。

How should I create my DES key? Why is an 7-character string not enough?

noobs4tools 网站使用的密钥:

"12345678"

您的代码使用的密钥:

 hex2bin("1234567890abcdef"); // 4Vx����

然后,这种差异会为您提供不同的输出。

因此,网站不会将密钥翻译成任何其他数字或数据格式。它希望您在页面脚本中提供已经正确格式化的值。