ホームページ >php教程 >php手册 >php-简单对称加密算法和字符串与十六进制之间的互转函数,php-十六进制

php-简单对称加密算法和字符串与十六进制之间的互转函数,php-十六进制

WBOY
WBOYオリジナル
2016-06-13 09:08:37792ブラウズ

php-简单对称加密算法和字符串与十六进制之间的互转函数,php-十六进制

/**
* 简单对称加密算法之加密
* @param String $string 需要加密的字串
* @param String $skey 加密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   }
  return str_replace('=', 'O0O0O', join('', $strArr));
}

/**
* 简单对称加密算法之解密
* @param String $string 需要解密的字串
* @param String $skey 解密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   }
  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     $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;
}

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。