zoukankan      html  css  js  c++  java
  • PHP 字符串和十六进制互转

    今天在做项目中,因为要调用别人网站的接口,结果需要对请求和返回的时间进行十六进制加密处理,于是在网上查了下资料谢了一个转换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;
    }
    }
    <span style="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


    ————————————————
    版权声明:本文为CSDN博主「碎碎馮同學」的原创文章,遵循CC 4.0 by-sa版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/fl442165035/article/details/49154891

  • 相关阅读:
    Running ASP.NET Applications in Debian and Ubuntu using XSP and Mono
    .net extjs 封装
    ext direct spring
    install ubuntu tweak on ubuntu lts 10.04,this software is created by zhouding
    redis cookbook
    aptana eclipse plugin install on sts
    ubuntu open folderpath on terminal
    ubuntu install pae for the 32bit system 4g limited issue
    EXT Designer 正式版延长使用脚本
    用 Vagrant 快速建立開發環境
  • 原文地址:https://www.cnblogs.com/wangluochong/p/11383000.html
Copyright © 2011-2022 走看看