所以我一直在做这个功能,我不确定是什么问题。
我获得加密数据和密钥:
$key = 'aaaaaaaabbbbbbbbccccccccdddddddd';
$data = 'b5057bbc04b842a96144a0f617f2820e';
我已经把它们转换成二进制文件了:
$key = pack('H*',$key);
$data = pack('H*',$data);
运行解密功能:
echo bin2hex(mcrypt_decrypt(Mcrypt_3des, $key, $data, MCRYPT_MODE_ECB));
但是我得到的是:e2119b734b5050e3fa8717ee17f3a548
但如果我在http://tripledes.online-domain-tools.com/上运行相同的解密 或http://www.emvlab.org/descalc/?key=aaaaaaaabbbbbbbbccccccccdddddddd&iv=0000000000000000&input=b5057bbc04b842a96144a0f617f2820e&mode=ecb&action=Decrypt&output=54657374313233313233000000000000
实际上它变为54 65 73 74 31 32 33 31 32 33 00 00 00 00 00 00
实际上是Test123123
对可能出现什么问题的任何建议?
修改
我尝试过切换到openssl_decrypt
但是我一直得到一个假的回复。
代码:
$result = openssl_decrypt($data,'des-ede3', $key);
result = bool(false)
答案 0 :(得分:0)
我能够使用开放SSL解密功能使其工作:
System.Reflection.Assembly assembly = System.Reflection.Assembly.GetExecutingAssembly();
System.Reflection.ManifestResourceInfo listDataInfo = assembly.GetManifestResourceInfo("MyNamespace.ListData.xml");