加密解密:
- //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://www.Vevb.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://www.Vevb.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实现来基数位字符串转换十六进制,偶数位字符串转换为八进制。
新闻热点
疑难解答