文字列を 16 進数に変換する
php メソッド: 最初に PHP サンプル ファイルを作成し、次に strToHex メソッドを作成します。次に、メソッド本体で for ループと dechex およびその他の関数を使用して文字列を 16 進数の関数に変換します。最後に strToHex メソッドを通じて変換します。
#この記事の動作環境: Windows 7 システム、PHP バージョン 7.1、Dell G3 コンピューター。
PHP 文字列と 16 進数の変換
私は今日プロジェクトに取り組んでいます。他の人の Web サイトのインターフェイスを呼び出す必要があり、その結果が正しい必要があるからです。 16進数の暗号化処理を行うために、インターネット上の情報を調べ、記録用に変換デモを作成しました。
TP で使用する場合、common.php
1. 暗号化関数
<?php /** *字符串转十六进制函数 *@pream string $str='abc'; */ function strToHex($str){ $hex=""; for($i=0;$i<strlen($str);$i++) $hex.=dechex(ord($str[$i])); $hex=strtoupper($hex); return $hex; } ?>
2. 復号化関数
<?php /** *十六进制转字符串函数 *@pream string $hex='616263'; */ function hexToStr($hex){ $str=""; for($i=0;$i<strlen($hex)-1;$i+=2) $str.=chr(hexdec($hex[$i].$hex[$i+1])); return $str; } ?>
【推奨される学習: "PHP ビデオ チュートリアル "]
暗号化および復号化の変換関数では、便宜上クラスに記述されたデモの例を使用します。
<?php class Test{ /** *字符串转十六进制函数 *@pream string $str='abc'; */ 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='616263'; */ 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 = '要加密的内容sxfenglei'; $data = $test->strToHex($str); echo '加密内容:要加密的内容sxfenglei <br>'.$data.'<hr>'; $output = $test->hexToStr($data); echo '解密内容:E8A681E58AA0E5AF86E79A84E58685E5AEB9737866656E676C6569 <br>'.$output; ?>
実行結果:
加密内容:要加密的内容sxfenglei E8A681E58AA0E5AF86E79A84E58685E5AEB9737866656E676C6569 解密内容:E8A681E58AA0E5AF86E79A84E58685E5AEB9737866656E676C6569 要加密的内容sxfenglei
以上がPHPで文字列を16進数に変換する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。