0
点赞
收藏
分享

微信扫一扫

php字符串和16进制编码的相互转换

三千筱夜 2022-08-18 阅读 126


php字符串是十进制的

/**
**字符串转16进制
**/
public function String2Hex($string){
$hex='';
for ($i=0; $i < strlen($string); $i++){
$hex .= dechex(ord($string[$i]));
}
return $hex;
}

/**
**16进制转字符串
**/

public 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...");
// $hex contains 746573742073656e74656e63652e2e2e

echo Hex2String($hex);
// outputs: test sentenc

我在做aes加密是发现一个问题,发现将字符串转16进制会出现转出数据位数对不上的问题可以修改为如下试试:

 public function String2Hex($string){


$hex='';
// for ($i=0; $i < strlen($string); $i++){
// $hex .= dechex(ord($string[$i]));
// }
$hex = bin2hex($string);
return $hex;
}

 

举报

相关推荐

0 条评论