繁体   English   中英

使用PHP进行DES ECB加密

[英]DES ECB encryption with PHP

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”。

代码有什么问题?

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

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

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

我该如何创建DES密钥? 为什么7个字符的字符串不够用?

密钥由noobs4tools网站使用:

"12345678"

您的代码使用的密钥:

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM