首頁 >後端開發 >PHP問題 >php 怎麼將字串轉換為16進位

php 怎麼將字串轉換為16進位

藏色散人
藏色散人原創
2021-03-02 09:34:163061瀏覽

php將字串轉換為16進位的方法:首先建立一個PHP範例檔案;然後建立一個strToHex方法;接著在方法體內透過for循環以及dechex等函數實現字串轉十六進位的功能;最後透過strToHex方法進行轉換即可。

php 怎麼將字串轉換為16進位

本文操作環境:Windows7系統、PHP7.1版、Dell G3電腦。

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;
} 
?>

【推薦學習:《PHP影片教學》】

加密解密轉換函數使用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