PHP 字符串和十六进制互转

本文提供了一段PHP代码示例,展示了如何实现字符串到十六进制和十六进制到字符串的加密解密过程。通过定义两个函数,strToHex和hexToStr,实现了对指定字符串的加密和解密操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天在做项目中,因为要调用别人网站的接口,结果需要对请求和返回的时间进行十六进制加密处理,于是在网上查了下资料谢了一个转换Demo做个记录。

如果在TP下使用可以将下面函数放到common.php中


一,加密函数

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

二、解密函数

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

加密 解密 转换 函数使用Demo事例,这里为了方便写在了一个类中。

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



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值