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+FLASH实现上传文件进度条相关文件 下载
Jul 21 PHP
PHP 采集程序 常用函数
Dec 18 PHP
PHP 字符串分割和比较
Oct 06 PHP
Codeigniter中mkdir创建目录遇到权限问题和解决方法
Jul 25 PHP
PHP自定session保存路径及删除、注销与写入的方法
Nov 18 PHP
Linux下从零开始安装配置Nginx服务器+PHP开发环境
Dec 21 PHP
详解WordPress中简码格式标签编写的基本方法
Dec 22 PHP
thinkPHP交易详情查询功能详解
Dec 02 PHP
浅谈ThinkPHP中initialize和construct的区别
Apr 01 PHP
Laravel中如何增加自定义全局函数详解
May 09 PHP
Laravel数据库读写分离配置的方法
Oct 13 PHP
php的对象传值与引用传值代码实例讲解
Feb 26 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
利用js调用后台php进行数据处理原码
2006/10/09 PHP
php 无极分类(递归)实现代码
2010/01/05 PHP
javascript语句中的CDATA标签的意义
2007/05/09 Javascript
JS 非图片动态loading效果实现代码
2010/04/09 Javascript
简单的前端js+ajax 购物车框架(入门篇)
2011/10/29 Javascript
jQuery插件 selectToSelect使用方法
2013/10/02 Javascript
jQuery获得内容和属性示例代码
2014/01/16 Javascript
node.js中的fs.writeFile方法使用说明
2014/12/14 Javascript
jQuery+AJAX实现网页无刷新上传
2015/02/22 Javascript
第九篇Bootstrap导航菜单创建步骤详解
2016/06/21 Javascript
AngularJS入门教程之AngularJS 模板
2016/08/18 Javascript
bootstrap的工具提示实例代码
2017/05/17 Javascript
webpack+vuex+axios 跨域请求数据的示例代码
2018/03/06 Javascript
node中的密码安全(加密)
2018/09/17 Javascript
vue-cli3添加模式配置多环境变量的方法
2019/06/05 Javascript
jquery多级树形下拉菜单的实例代码
2019/07/09 jQuery
使用nodejs实现JSON文件自动转Excel的工具(推荐)
2020/06/24 NodeJs
对python xlrd读取datetime类型数据的方法详解
2018/12/26 Python
python实现美团订单推送到测试环境,提供便利操作示例
2019/08/09 Python
python GUI库图形界面开发之PyQt5结合Qt Designer创建信号与槽的详细方法与实例
2020/03/08 Python
Python 连接 MySQL 的几种方法
2020/09/09 Python
python实现图片,视频人脸识别(dlib版)
2020/11/18 Python
Python做图像处理及视频音频文件分离和合成功能
2020/11/24 Python
css3弹性盒模型实例介绍
2013/05/27 HTML / CSS
一款纯css3实现的鼠标经过按钮特效教程
2014/11/09 HTML / CSS
canvas实现图片镜像翻转的2种方式
2020/07/22 HTML / CSS
html table呈现个人简历以及单元格宽度失效的问题解决
2021/01/22 HTML / CSS
升国旗仪式主持词
2014/03/19 职场文书
个人廉洁自律承诺书
2014/03/27 职场文书
学校学习雷锋活动总结
2014/07/03 职场文书
行政秘书工作自我鉴定
2014/09/15 职场文书
群众路线党员自我评议范文2014
2014/09/24 职场文书
单位法人授权委托书范本
2014/10/09 职场文书
户外亲子活动总结
2015/05/08 职场文书
病假证明模板
2015/06/19 职场文书
财务管理制度范本
2015/08/04 职场文书