PHP-simple symmetric encryption algorithm and conversion function between string and hexadecimal

WBOY
Release: 2016-08-08 09:26:54
Original
1098 people have browsed it

/**
* Encryption using simple symmetric encryption algorithm
* @param String $string The string that needs to be encrypted
* @param String $skey Encryption EKY
* @return String
*/
function encode($string = '', $skey = 'textphp') {
  $skey = str_split(base64_encode($skey));
  $strArr = str_split(base64_encode($string));
  $strCount = count($strArr);
  foreach ($skey as $key => $value) {
    $key < $strCount && $strArr[$key].=$value;
  }
  return str_replace('=', 'O0O0O', join('', $strArr));
}

/**
* Decryption of simple symmetric encryption algorithm
* @param String $string The string to be decrypted
* @param String $skey Decryption KEY
* @return String
*/
function decode($string = '', $skey = 'textphp') {
  $skey = str_split(base64_encode($skey));
  $strArr = str_split(str_replace('O0O0O', '=', $string), 2);
  $strCount = count($strArr);
  foreach ($skey as $key => $value) {
    $key < $strCount && $strArr[$key][1] === $value && $strArr[$key] = $strArr[$key][0];
  }
  return base64_decode(join('', $strArr));
}

//字符串转换成16进制
function str2hex($str, $encoded = 'GBK') {
  $hex = '';
  if ($encoded == 'GBK') {
    $str = mb_convert_encoding($str, 'GBK', 'UTF-8');
  }
  for ($i = 0, $length = mb_strlen($str); $i < $length; $i++) {
    $hex .= dechex(ord($str{$i}));
  }
  return $hex;
}

//16进制转换成字符串
function hex2str($hex, $encoded = 'GBK') {
  $str = '';
  $arr = str_split($hex, 2);
  foreach ($arr as $bit) {
    $str .= chr(hexdec($bit));
  }
  if ($encoded == 'GBK') {
    $str = mb_convert_encoding($str, 'UTF-8', 'GBK');
  }
  return $str;
}

以上就介绍了php-简单对称加密算法和字符串与十六进制之间的互转函数,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

Related labels:
source:php.cn
Statement of this Website
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
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!