注意:必须要开启php的一些配置或者自定义某些函数
/**
* DES加密(java兼容模式,密文转为十六进制字符串)
*
@param
$dat
*
@param
$key
*
@return
string
*/
function
javaDesEncrypt($dat, $key)
{
$block = mcrypt_get_block_size(MCRYPT_DES, MCRYPT_MODE_ECB);
$len = strlen($dat);
$padding = $block - ($len %
$block);
$dat .= str_repeat(chr($padding),$padding);
return
bin2hex(mcrypt_encrypt(MCRYPT_DES, $key, $dat, MCRYPT_MODE_ECB));
}
/**
* DES解密(java兼容模式,十六进制字符串转为密文再解密)
*
@param
$dat
*
@param
$key
*
@return
string
*/
function
javaDesDecrypt($dat, $key)
{
$str =
hex2asc($dat);
$str = mcrypt_decrypt(MCRYPT_DES, $key, $str, MCRYPT_MODE_ECB);
$pad = ord($str[($len = strlen($str)) - 1]);
return
substr($str, 0, strlen($str) - $pad);
}
/** 十六进制 转 ASCII */
function
hex2asc($str) {
$str = join('',explode('\x',$str));
$len = strlen($str);
for
($i=0;$i<$len;$i+=2) $data.=chr(hexdec(substr($str,$i,2)));
return
$data;
}
4367

被折叠的 条评论
为什么被折叠?



