您的位置:首页 > 编程语言 > PHP开发

PHP相关系列 - 兼容JAVA的PHP加密解密DES算法

2012-07-25 18:22 495 查看
今天一直折腾和JAVA对接数据加密解密的问题。

刚开始使用TEA的加密算法,但是JAVA那边和PHP端加密出来的结果不一样

只能修改算法,将算法修改成了DES的加密算法

但是PHP需要装一个mcrypt扩展,这点有点烦人

看代码吧:

/**
* 加密
* @param string $str 字符串
* @param string $key 密钥
*/
public static function encrypt($str, $key)  {
$block = mcrypt_get_block_size('des', 'ecb');
$pad = $block - (strlen($str) % $block);
$str .= str_repeat(chr($pad), $pad);
$str = mcrypt_encrypt(MCRYPT_DES, $key, $str, MCRYPT_MODE_ECB);
return base64_encode($str);
}

/**
* 解密
* @param string $str 字符串
* @param string $key 密钥
*/
public static function decrypt($str, $key) {
$str = base64_decode($str);
$str = mcrypt_decrypt(MCRYPT_DES, $key, $str, MCRYPT_MODE_ECB);
$block = mcrypt_get_block_size('des', 'ecb');
$pad = ord($str[($len = strlen($str)) - 1]);
return substr($str, 0, strlen($str) - $pad);
}


 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  加密 解密 java php string