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 相关文章推荐
php排序算法(冒泡排序,快速排序)
Oct 09 PHP
PHP多线程批量采集下载美女图片的实现代码(续)
Jun 03 PHP
PHP用星号隐藏部份用户名、身份证、IP、手机号等实例
Apr 08 PHP
destoon实现调用热门关键字的方法
Jul 15 PHP
微信公众号开发之微信公共平台消息回复类实例
Nov 14 PHP
Yii实现多按钮保存与提交的方法
Dec 03 PHP
php+ajax登录跳转登录实现思路
Jul 31 PHP
基于thinkPHP框架实现留言板的方法
Oct 17 PHP
php中array_slice和array_splice函数解析
Oct 18 PHP
解析PHP之提取多维数组指定列的方法
Jan 03 PHP
PHP双向链表定义与用法示例
Jan 31 PHP
Laravel5.5以下版本中如何自定义日志行为详解
Aug 01 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
ThinkPHP3.1.3版本新特性概述
2014/06/19 PHP
WordPress中限制非管理员用户在文章后只能评论一次
2015/12/31 PHP
PHP查询附近的人及其距离的实现方法
2016/05/11 PHP
PHP简单字符串过滤方法示例
2016/09/04 PHP
JS 分号引起的一段调试问题
2009/06/18 Javascript
jQuery 前的按键判断代码
2010/03/19 Javascript
动态加载js、css等文件跨iframe实现
2014/02/24 Javascript
jQuery实现商品活动倒计时
2015/10/16 Javascript
jQuery根据表单name获取值的方法
2016/05/24 Javascript
JavaScript中最容易混淆的作用域、提升、闭包知识详解(推荐)
2016/09/05 Javascript
JQuery Dialog对话框 不能通过Esc关闭的原因分析及解决办法
2017/01/18 Javascript
JS获取日期的方法实例【昨天,今天,明天,前n天,后n天的日期】
2017/09/28 Javascript
简单的三步vuex入门
2018/05/20 Javascript
angular6.0开发教程之如何安装angular6.0框架
2018/06/29 Javascript
Nautil 中使用双向数据绑定的实现
2019/10/02 Javascript
vue中改变滚动条样式的方法
2020/03/03 Javascript
JQuery插件tablesorter表格排序实现过程解析
2020/05/28 jQuery
vue 实现把路由单独分离出来
2020/08/13 Javascript
Python读取word文本操作详解
2018/01/22 Python
Python Flask前后端Ajax交互的方法示例
2018/07/31 Python
Django REST framework 分页的实现代码
2019/06/19 Python
解决django xadmin主题不显示和只显示bootstrap2的问题
2020/03/30 Python
Python 使用xlwt模块将多行多列数据循环写入excel文档的操作
2020/11/10 Python
运行python提示no module named sklearn的解决方法
2020/11/29 Python
英国第一独立滑雪板商店:The Snowboard Asylum
2020/01/16 全球购物
竟聘演讲稿范文
2013/12/31 职场文书
人事文员岗位职责
2014/02/16 职场文书
股权转让协议书范本
2014/04/12 职场文书
优秀应届毕业生自荐书
2014/06/29 职场文书
党员“四风”问题批评与自我批评思想汇报
2014/10/06 职场文书
小学班主任事迹材料
2014/12/17 职场文书
工作简历自我评价
2015/03/11 职场文书
圆明园纪录片观后感
2015/06/03 职场文书
2019个人工作态度自我评价
2019/04/24 职场文书
教您:房贷工资收入证明应该怎么写?
2019/08/19 职场文书
TV动画《间谍过家家》公开PV
2022/03/20 日漫