我正在尝试计算PHP函数以使 3DES(三重DES)处于ECB模式。但是我得到了错误的结果。
我的结果:615EDC0E8EAD5DDE
预期结果:7B66D9A5010A8035
(预期结果由HSM计算并由网站确认)http://tripledes.online-domain-tools.com/
这是我的PHP函数,以参数为准:
$ data =“ 3200000025381234”
$ key =“ 98137332E06BBA25AEE51CFD150EA8E3”
function tripleDES($data, $key) {
$key= hex2bin($key);
$data = hex2bin($data);
$enc = openssl_encrypt($data, 'des-ede3', $key, OPENSSL_RAW_DATA |
OPENSSL_ZERO_PADDING);
return strtoupper(bin2hex($enc));
}
我在做什么错了?
答案 0 :(得分:0)
多亏了Topaco的回答,我理解了我的错误。 所以我使用了这个github项目:https://github.com/gilfether/phpcrypt,并以此方式纠正了我的代码(使用我的16字节密钥):
window.test = test;