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

php 字串怎麼轉換為16進位

藏色散人
藏色散人原創
2021-03-12 10:36:433051瀏覽

php字串轉換為16進位的方法:先建立一個PHP範例檔案;然後透過「function strToHex($str) {...}」方法將字串轉十六進位即可。

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

加密解密轉換函數使用Demo事例,這裡為了方便寫在了一個類別中。 【推薦學習:《PHP影片教學》】

<?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;
  }
} < spanstyle = "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

E8A681E58AA0E5AF86E79A84E58685E5A6573766
解密內容:E8A681E58AA0E5AF86E79A84E58685E5AEB9737866656E676C6569
要加密的內容sxfenglei

#

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

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