当前位置:首页 > PHP教程 > php高级应用 > 列表

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

发布:smiling 来源: PHP粉丝网  添加日期:2018-10-30 09:53:12 浏览: 评论:0 

加密解密:

  1. //Hex(Hex(Md5((原文+密钥).getBytes(“utf-8”))).getBytes(“utf-8”)) 
  2. function String2Hex($string){ 
  3.     $hex=''
  4.     for ($i=0; $i < strlen($string); $i++){ 
  5.         $hex .= dechex(ord($string[$i])); 
  6.     } 
  7.     return $hex
  8.  
  9. function Hex2String($hex){ 
  10.     $string=''
  11.     for ($i=0; $i < strlen($hex)-1; $i+=2){ 
  12.         $string .= chr(hexdec($hex[$i].$hex[$i+1])); 
  13.     } 
  14.     return $string
  15.  
  16. // example: 
  17.  
  18. $hex = String2Hex("test sentence..."); 
  19.  
  20. $data = array
  21.     'appId' => 'SHAN-GUO-CHI-BI',  
  22.     'data' =>'{"appId":"SHAN-GUO-CHI-BI","cardNo":"6006012000000001"}',  
  23.     'sig'=>'4331443139334331313645464642444544364334343742374236364335454243'
  24. ); 
  25.  
  26. $key = '111111111111111111111111'
  27.  
  28. $data['sig'] = String2Hex(strtoupper(md5($data['data'] . $key))); 

例子:PHP 转换输出字符串为 Hex Oct

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

  1. <?php  
  2. $str = "http://www.phpfensi.com";  
  3. $lixiphp = ”;  
  4. for($i = 0; $i < strlen($str); $i++) {  
  5.   if ($i % 2 == 0) {  
  6.     $lixiphp .= ‘\x’.base_convert(ord($str[$i]), 10, 16);  
  7.   }  
  8.   else {  
  9.     $lixiphp .= ‘\\’.base_convert(ord($str[$i]), 10, 8);  
  10.   }  
  11. }  
  12. echo $lixiphp;  
  13. ?> 

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

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

Tags: hex php加密解密

分享到: