首頁  >  文章  >  後端開發  >  php 字串轉為16進位的方法

php 字串轉為16進位的方法

藏色散人
藏色散人原創
2020-10-22 09:20:112530瀏覽

php字串轉為16進位的方法:先找到並開啟common.php;然後加入strToHex函數;最後透過strToHex函數實作字串轉十六進位即可。

php 字串轉為16進位的方法

推薦:《PHP影片教學

PHP 字串與十六進位互轉

今天在做專案中,因為要調用別人網站的接口,結果需要對請求和返回的時間進行十六進制加密處理,於是在網上查了下資料謝了一個轉換Demo做個記錄。

如果在TP下使用可以將下面函數放到common.php中

 

一,加密函數

<?php
/**
*字符串转十六进制函数
*@pream string $str=&#39;abc&#39;;
*/
function strToHex($str){
$hex="";
for($i=0;$i<strlen($str);$i++)
$hex.=dechex(ord($str[$i]));
$hex=strtoupper($hex);
return $hex;
}
?>

二、解密函數

<?php
/**
*十六进制转字符串函数
*@pream string $hex=&#39;616263&#39;;
*/
function hexToStr($hex){
$str="";
for($i=0;$i<strlen($hex)-1;$i+=2)
$str.=chr(hexdec($hex[$i].$hex[$i+1]));
return $str;
}
?>

加密解密轉換函數使用Demo事例,這裡為了方便寫在了一個類別中。

<?php
class Test{
/**
*字符串转十六进制函数
*@pream string $str=&#39;abc&#39;;
*/
public function strToHex($str){
$hex="";
for($i=0;$i<strlen($str);$i++)
$hex.=dechex(ord($str[$i]));
$hex=strtoupper($hex);
return $hex;
}
/**
*十六进制转字符串函数
*@pream string $hex=&#39;616263&#39;;
*/
public function hexToStr($hex){
$str="";
for($i=0;$i<strlen($hex)-1;$i+=2)
$str.=chr(hexdec($hex[$i].$hex[$i+1]));
return $str;
}
}
<span style="white-space:pre"> </span>//测试Demo效果
$test = new Test();
$str = &#39;要加密的内容sxfenglei&#39;;
$data = $test->strToHex($str);
echo &#39;加密内容:要加密的内容sxfenglei <br>&#39;.$data.&#39;<hr>&#39;;
$output = $test->hexToStr($data);
echo &#39;解密内容:E8A681E58AA0E5AF86E79A84E58685E5AEB9737866656E676C6569 <br>&#39;.$output;
?>

運行結果:

加密内容:要加密的内容sxfenglei
E8A681E58AA0E5AF86E79A84E58685E5AEB9737866656E676C6569
解密内容:E8A681E58AA0E5AF86E79A84E58685E5AEB9737866656E676C6569
要加密的内容sxfenglei

以上是php 字串轉為16進位的方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn