加密解密:
- //Hex(Hex(Md5((原文+密鑰).getBytes(“utf-8”))).getBytes(“utf-8”))
- function String2Hex($string){
- $hex='';
- for ($i=0; $i < strlen($string); $i++){
- $hex .= dechex(ord($string[$i]));
- }
- return $hex;
- }
- function Hex2String($hex){
- $string='';
- for ($i=0; $i < strlen($hex)-1; $i+=2){
- $string .= chr(hexdec($hex[$i].$hex[$i+1]));
- }
- return $string;
- }
- // example:
- $hex = String2Hex("test sentence...");
- $data = array(
- 'appId' => 'SHAN-GUO-CHI-BI',
- 'data' =>'{"appId":"SHAN-GUO-CHI-BI","cardNo":"6006012000000001"}',
- 'sig'=>'4331443139334331313645464642444544364334343742374236364335454243',
- );
- $key = '111111111111111111111111';
- $data['sig'] = String2Hex(strtoupper(md5($data['data'] . $key)));
例子:PHP 轉換輸出字符串為 Hex Oct
通過下面代碼,可以把PHP輸出的字符串換行為16進制和8進制。
- <?php
- $str = "http://m.survivalescaperooms.com";
- $lixiphp = ”;
- for($i = 0; $i < strlen($str); $i++) {
- if ($i % 2 == 0) {
- $lixiphp .= ‘/x’.base_convert(ord($str[$i]), 10, 16);
- }
- else {
- $lixiphp .= ‘//’.base_convert(ord($str[$i]), 10, 8);
- }
- }
- echo $lixiphp;
- ?>
通過上述代碼,把字符串 "http://m.survivalescaperooms.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實現來基數位字符串轉換十六進制,偶數位字符串轉換為八進制。
新聞熱點
疑難解答