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

來源:互聯網
上載者:User


加密解密


//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進位。

<?php
$str = "http://www.111cn.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.111cn.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常用字元的關係。

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.