在PHP中找不到正确的3DES密码

时间:2019-07-19 12:00:46

标签: php cryptography 3des

我正在尝试计算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));
}

我在做什么错了?

1 个答案:

答案 0 :(得分:0)

多亏了Topaco的回答,我理解了我的错误。 所以我使用了这个github项目:https://github.com/gilfether/phpcrypt,并以此方式纠正了我的代码(使用我的16字节密钥):

window.test = test;