一聚教程网:一个值得你收藏的教程网站

最新下载

热门教程

php hex加密解密函数使用例子

时间:2016-04-01 编辑:简简单单 来源:一聚教程网


加密解密


//Hex(Hex(Md5((原文+密钥).getBytes(“utf-8”))).getBytes(“utf-8”))
function String2Hex($string){
    $hex='';
    for ($i=0; $i < strlen($string); $i++){
        $hex .= dechex(ord($string[$i]));
    }
    return $hex;
}

function Hex2String($hex){
    $string='';
    for ($i=0; $i < strlen($hex)-1; $i+=2){
        $string .= chr(hexdec($hex[$i].$hex[$i+1]));
    }
    return $string;
}

// example:

$hex = String2Hex("test sentence...");

$data = array(
    'appId' => 'SHAN-GUO-CHI-BI',
    'data' =>'{"appId":"SHAN-GUO-CHI-BI","cardNo":"6006012000000001"}',
    'sig'=>'4331443139334331313645464642444544364334343742374236364335454243',
);

$key = '111111111111111111111111';

$data['sig'] = String2Hex(strtoupper(md5($data['data'] . $key)));

例子

PHP 转换输出字符串为 Hex Oct
通过下面代码,可以把PHP输出的字符串换行为16进制和8进制。

$str = "http://www.111com.net";
$lixiphp = ”;
for($i = 0; $i < strlen($str); $i++) {
  if ($i % 2 == 0) {
    $lixiphp .= ‘\x’.base_convert(ord($str[$i]), 10, 16);
  }
  else {
    $lixiphp .= ‘\\’.base_convert(ord($str[$i]), 10, 8);
  }
}
echo $lixiphp;
?>

通过上述代码,把字符串 "http://www.111com.net" 转换为"\x68\164\x74\160\x3a\57\x2f\142\x6c\157\x67\56\x6c\151\x78\151\x70\150\x70\56\x63\157\x6d"

PHP实现来基数位字符串转换十六进制,偶数位字符串转换为八进制。

下图是ASCII码表,可以简单的核对10进制、8进制和16进制与127常用字符的关系。

 

ASCII码表

热门栏目