Home >Backend Development >PHP Problem >How to convert php string to hexadecimal

How to convert php string to hexadecimal

藏色散人
藏色散人Original
2021-03-12 10:36:433117browse

How to convert php string to hexadecimal: first create a PHP sample file; then use the "function strToHex($str) {...}" method to convert the string to hexadecimal .

How to convert php string to hexadecimal

The operating environment of this article: windows7 system, PHP7.1 version, DELL G3 computer

PHP string and hexadecimal How to achieve mutual conversion

I was working on a project today. Because I needed to call the interface of other people’s websites, the result required hexadecimal encryption of the request and return time, so I checked the information on the Internet. Thanks for a conversion demo for record keeping.

If used under TP, you can put the following functions in common.php

1. Encryption function

<?php
/**
 *字符串转十六进制函数
 *@pream string $str=&#39;abc&#39;;
 */
function strToHex($str) {
  $hex = "";
  for ($i = 0;$i < strlen($str);$i++) $hex.= dechex(ord($str[$i]));
  $hex = strtoupper($hex);
  return $hex;
}
?>

2. Decryption Function

<?php
/**
 *十六进制转字符串函数
 *@pream string $hex=&#39;616263&#39;;
 */
function hexToStr($hex) {
  $str = "";
  for ($i = 0;$i < strlen($hex) - 1;$i+= 2) $str.= chr(hexdec($hex[$i] . $hex[$i + 1]));
  return $str;
}
?>

The encryption and decryption conversion function uses the Demo example, which is written in a class for convenience. [Recommended learning: "PHP Video Tutorial"]

<?php
class Test {
  /**
   *字符串转十六进制函数
   *@pream string $str=&#39;abc&#39;;
   */
  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=&#39;616263&#39;;
   */
  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 = &#39;要加密的内容sxfenglei&#39;;
$data = $test->strToHex($str);
echo &#39;加密内容:要加密的内容sxfenglei <br>&#39; . $data . &#39;<hr>&#39;;
$output = $test->hexToStr($data);
echo &#39;解密内容:E8A681E58AA0E5AF86E79A84E58685E5AEB9737866656E676C6569 <br>&#39; . $output;
?>

Running results:

Encrypted content: Content to be encrypted sxfenglei
E8A681E58AA0E5AF86E79A84E58685E5AEB9737866656E676C6569
Decrypted content:E8A681E58AA0E5AF86E79A84E58685E5AEB9737866656E676C6569
Content to be encrypted sxfenglei

The above is the detailed content of How to convert php string to hexadecimal. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn