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 相关文章推荐
第十一节--重载
Nov 16 PHP
编写php应用程序实现摘要式身份验证的方法详解
Jun 08 PHP
用PHP来计算某个目录大小的方法
Apr 01 PHP
PHP获取指定函数定义在哪个文件中以及其所在的行号实例
May 08 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(十一)
Jun 25 PHP
php使用指定编码导出mysql数据到csv文件的方法
Mar 31 PHP
php无序树实现方法
Jul 28 PHP
举例详解PHP脚本的测试方法
Aug 05 PHP
laravel自定义分页效果
Jul 23 PHP
php表单习惯用的正则表达式
Oct 11 PHP
PHP空值检测函数与方法汇总
Nov 19 PHP
PHP使用SOAP调用API操作示例
Dec 25 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 分页类实现代码
2009/12/03 PHP
如何设置mysql允许外网访问
2013/06/04 PHP
使用PHP导出Word文档的原理和实例
2013/10/21 PHP
PHP学习笔记之字符串编码的转换和判断
2014/05/22 PHP
php开启与关闭错误提示适用于没有修改php.ini的权限
2014/10/16 PHP
将PHP的session数据存储到数据库中的代码实例
2016/06/24 PHP
由php中字符offset特征造成的绕过漏洞详解
2017/07/07 PHP
PHP基于curl post实现发送url及相关中文乱码问题解决方法
2017/11/25 PHP
PHP get_html_translation_table()函数用法讲解
2019/02/16 PHP
laravel5环境隐藏index.php后缀(apache)的方法
2019/10/12 PHP
js控制的回到页面顶端goTop的代码实现
2013/03/20 Javascript
页面加载完后自动执行一个方法的js代码
2014/09/06 Javascript
jquery checkbox 勾选的bug问题解决方案与分析
2014/11/13 Javascript
JavaScript中连接操作Oracle数据库实例
2015/04/02 Javascript
jQuery实用技巧必备(中)
2015/11/03 Javascript
浅谈jQuery中ajaxPrefilter的应用
2016/08/01 Javascript
BootStrap实现邮件列表的分页和模态框添加邮件的功能
2016/10/13 Javascript
js实现简单的获取验证码按钮效果
2017/03/03 Javascript
微信小程序获取循环元素id以及wx.login登录操作
2017/08/17 Javascript
js实现购物车功能
2018/06/12 Javascript
详解Vue开发微信H5微信分享签名失败问题解决方案
2018/08/09 Javascript
JS+CSS+HTML实现“代码雨”类似黑客帝国文字下落效果
2020/03/17 Javascript
粗略分析Python中的内存泄漏
2015/04/23 Python
浅谈scrapy 的基本命令介绍
2017/06/13 Python
pytorch使用Variable实现线性回归
2019/05/21 Python
Python-接口开发入门解析
2019/08/01 Python
python能自学吗
2020/06/18 Python
基于Python的身份证验证识别和数据处理详解
2020/11/14 Python
python 批量下载bilibili视频的gui程序
2020/11/20 Python
python 制作网站小说下载器
2021/02/20 Python
水果花束:Fruit Bouquets
2017/12/20 全球购物
Carter’s官方旗舰店:美国受欢迎的婴童服装品牌
2018/01/21 全球购物
理肤泉俄罗斯官网:La Roche-Posay俄罗斯
2018/07/24 全球购物
民主评议党员登记表自我评价
2014/10/20 职场文书
销售合作意向书范本
2015/05/08 职场文书
Python编程根据字典列表相同键的值进行合并
2021/10/05 Python