php 3des 加密问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php 3des 加密问题相关的知识,希望对你有一定的参考价值。

jsp 3des加密信息:
key E0JW20IECVC21Y79Q6J6ORHX
原文 fsti
加密结果 3F3756AD34C75CF8

php 怎么实现 加密后同样结果 求各位大侠 贴的源码出来 小弟感激不尽
请大侠们不要吝啬几分钟时间 先测试一下我提供的原文和结果 是否可以对应之后再粘在这里

参考技术A 3des应该是通过DES加密的方式去加密的,
<?php
$key = "this is a secret key";
$input = "Let us meet at 9 o'clock at the secret place.";

$td = mcrypt_module_open('tripledes', '', 'ecb', '');
$iv = mcrypt_create_iv (mcrypt_enc_get_iv_size($td), MCRYPT_RAND);
mcrypt_generic_init($td, $key, $iv);
$encrypted_data = mcrypt_generic($td, $input);
mcrypt_generic_deinit($td);
mcrypt_module_close($td);
?>
<?php
//.h
function mdecrypt_3des($input,$key)
$td = mcrypt_module_open(MCRYPT_3DES,'',MCRYPT_MODE_ECB,'');
$blocksize = mcrypt_enc_get_block_size($td);
$keysize = mcrypt_enc_get_key_size($td);
$iv_size = mcrypt_enc_get_iv_size($td);
$iv = mcrypt_create_iv ($iv_size,MCRYPT_RAND);
$input_len = strlen($input);
$padsize = $blocksize-($input_len%$blocksize);
$input .= str_repeat(pack ('C*',$padsize),$padsize);
@mcrypt_generic_init($td, $key, $iv);//key 最长允许24位 ?

//return urlencode(base64_encode(mcrypt_generic($td,$input)));//加密
return rtrim(mdecrypt_generic($td,base64_decode(urldecode($input))),"\u0008");//解密

?>
这段代码是抄来的,希望能够解决你的问题

以上是关于php 3des 加密问题的主要内容,如果未能解决你的问题,请参考以下文章

怎么用php进行3des解密

PHP版DES算法加密数据(3DES)另附openssl_encrypt版本

PHP 使用 openssl 解密数据(使用 mcrypt 加密)

java进行3des加密传过来的数据,php怎么解密?

PHP 3DES 加解密(CBC模式,pkcs5padding填充)

java 3des加密问题记录