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学习教程之第1天
Jun 15 PHP
PHP 批量删除数据的方法分析
Oct 30 PHP
PHP文件注释标记及规范小结
Apr 01 PHP
解析阿里云ubuntu12.04环境下配置Apache+PHP+PHPmyadmin+MYsql
Jun 26 PHP
PHP取整函数:ceil,floor,round,intval的区别详细解析
Aug 31 PHP
php二维数组转成字符串示例
Feb 17 PHP
教你如何在CI框架中使用 .htaccess 隐藏url中index.php
Jun 09 PHP
php使用unset()删除数组中某个单元(键)的方法
Feb 17 PHP
详解配置 Apache 服务器支持 PHP 文件的解析
Feb 15 PHP
php封装db类连接sqlite3数据库的方法实例
Dec 19 PHP
PHP的PDO预定义常量讲解
Jan 24 PHP
Laravel框架自定义公共函数的引入操作示例
Apr 16 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
追忆往昔!浅谈收音机的百年发展历史
2021/03/01 无线电
php中使用$_REQUEST需要注意的一个问题
2013/05/02 PHP
php文件上传的简单实例
2013/10/19 PHP
PHP实现动态添加XML中数据的方法
2018/03/30 PHP
javascript 中__proto__和prototype详解
2014/11/25 Javascript
JavaScript返回上一页的三种方法及区别介绍
2015/07/04 Javascript
JS中cookie的使用及缺点讲解
2017/05/13 Javascript
node作为中间服务层如何发送请求(发送请求的实现方法详解)
2018/01/02 Javascript
mpvue将vue项目转换为小程序
2018/09/30 Javascript
js实现轮播图效果 z-index实现轮播图
2020/01/17 Javascript
javaScript 实现重复输出给定的字符串的常用方法小结
2020/02/20 Javascript
JavaScript运行机制实例分析
2020/04/11 Javascript
[05:09]第二届DOTA2亚洲邀请赛决赛日比赛集锦:iG 3:0 OG夺冠
2017/04/05 DOTA
Python简单生成8位随机密码的方法
2017/05/24 Python
Python基于回溯法子集树模板解决取物搭配问题实例
2017/09/02 Python
python实现三维拟合的方法
2018/12/29 Python
对Python3 序列解包详解
2019/02/16 Python
python开发游戏的前期准备
2019/05/05 Python
windows系统中Python多版本与jupyter notebook使用虚拟环境的过程
2019/05/15 Python
python数据预处理之数据标准化的几种处理方式
2019/07/17 Python
tesserocr与pytesseract模块的使用方法解析
2019/08/30 Python
Sublime Text3最新激活注册码分享适用2020最新版 亲测可用
2020/11/12 Python
css3新增颜色表示方式分享
2014/04/15 HTML / CSS
video下autoplay属性无效的解决方法(添加muted属性)
2020/05/19 HTML / CSS
纽约的奢华内衣店:Journelle
2016/07/29 全球购物
德国骆驼商店:ActiveFashionWorld
2017/11/18 全球购物
韩国保养品、日本药妆购物网:小三美日
2018/12/30 全球购物
JAVA中运算符的分类及举例
2015/09/12 面试题
社会实践活动总结
2015/02/05 职场文书
毕业典礼主持词
2015/06/29 职场文书
北京大学中文系教授推荐的10本小说
2019/08/08 职场文书
成人成长感言如何写?
2019/08/16 职场文书
90条交通安全宣传标语
2019/10/12 职场文书
Python turtle编写简单的球类小游戏
2022/03/31 Python
java版 简单三子棋游戏
2022/05/04 Java/Android
浅谈Redis的事件驱动模型
2022/05/30 Redis