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”。
代码出了什么问题?
答案 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����
然后,这种差异会为您提供不同的输出。
因此,网站不会将密钥翻译成任何其他数字或数据格式。它希望您在页面脚本中提供已经正确格式化的值。