PHP字符串和十六进制如何实现互相转换


Posted in PHP onJuly 16, 2020

今天在做项目中,因为要调用别人网站的接口,结果需要对请求和返回的时间进行十六进制加密处理,于是在网上查了下资料谢了一个转换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;
  }
} < spanstyle = "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 相关文章推荐
投票管理程序
Oct 09 PHP
php将fileterms函数返回的结果变成可读的形式
Apr 21 PHP
php 判断访客是否为搜索引擎蜘蛛的函数代码
Jul 29 PHP
PHP获取网址的顶级域名函数代码
Sep 24 PHP
本地机apache配置基于域名的虚拟主机详解
Aug 10 PHP
php获取新浪微博数据API实例
Nov 12 PHP
php数组去重实例及分析
Nov 26 PHP
PHP中echo,print_r与var_dump区别分析
Sep 29 PHP
PHP上传文件参考配置大文件上传
Dec 16 PHP
laravel实现分页样式替换示例代码(增加首、尾页)
Sep 22 PHP
php curl获取https页面内容,不直接输出返回结果的设置方法
Jan 15 PHP
Thinkphp5.0框架使用模型Model的获取器、修改器、软删除数据操作示例
Oct 11 PHP
PHP xpath提取网页数据内容代码解析
Jul 16 #PHP
浅析PHP中json_encode与json_decode的区别
Jul 15 #PHP
PHP vsprintf()函数格式化字符串操作原理解析
Jul 14 #PHP
PHP number_format函数原理及实例解析
Jul 14 #PHP
PHP array_reverse() 函数原理及实例解析
Jul 14 #PHP
PHP基于array_unique实现二维数组去重
Jul 14 #PHP
关于Anemometer图形化显示MySQL慢日志的工具搭建及使用的详细介绍
Jul 13 #PHP
You might like
用PHP调用Oracle存储过程的方法
2008/09/12 PHP
php购物车实现代码
2011/10/10 PHP
解析如何在PHP下载文件名中解决乱码的问题
2013/06/20 PHP
thinkPHP3.2使用RBAC实现权限管理的实现
2019/08/27 PHP
PHP isset empty函数相关面试题及解析
2020/12/11 PHP
AngularJS表单编辑提交功能实例
2015/02/13 Javascript
JQuery中层次选择器用法实例详解
2015/05/18 Javascript
Jquery实现$.fn.extend和$.extend函数
2016/04/14 Javascript
Select下拉框模糊查询功能实现代码
2016/07/22 Javascript
Vue和Bootstrap的整合思路详解
2017/06/30 Javascript
Vue通过URL传参如何控制全局console.log的开关详解
2017/12/07 Javascript
Angularjs之ngModel中的值验证绑定方法
2018/09/13 Javascript
微信小程序搭建(mpvue+mpvue-weui+fly.js)的详细步骤
2018/09/18 Javascript
Javascript 实现 Excel 导入生成图表功能
2018/10/22 Javascript
解析vue、angular深度作用选择器
2019/09/11 Javascript
JavaScript实现京东放大镜效果
2019/12/03 Javascript
Javascript实现秒表计时游戏
2020/05/27 Javascript
vue watch监控对象的简单方法示例
2021/01/07 Vue.js
在Python中使用PIL模块处理图像的教程
2015/04/29 Python
使用C#配合ArcGIS Engine进行地理信息系统开发
2016/02/19 Python
Python中用psycopg2模块操作PostgreSQL方法
2017/11/28 Python
Python实现的HMacMD5加密算法示例
2018/04/03 Python
python中退出多层循环的方法
2018/11/27 Python
情人节快乐! python绘制漂亮玫瑰
2020/08/18 Python
python能做什么 python的含义
2019/10/12 Python
Python itertools.product方法代码实例
2020/03/27 Python
Matplotlib.pyplot 三维绘图的实现示例
2020/07/28 Python
HTML5 语音搜索(淘宝店语音搜素)
2013/01/03 HTML / CSS
企业面试题试卷附带答案
2015/12/20 面试题
辞职信范文大全
2015/03/02 职场文书
暑假生活随笔
2015/08/15 职场文书
2016春季幼儿园大班开学寄语
2015/12/03 职场文书
导游词之杭州岳王庙
2019/11/13 职场文书
python中Tkinter 窗口之输入框和文本框的实现
2021/04/12 Python
Redis实现订单自动过期功能的示例代码
2021/05/08 Redis
vue实现在data里引入相对路径
2022/06/05 Vue.js