PHP-간단한 대칭 암호화 알고리즘 및 문자열과 16진수 간의 변환 기능

WBOY
풀어 주다: 2016-08-08 09:26:54
원래의
1139명이 탐색했습니다.

/**
* 단순 대칭암호 알고리즘의 암호화
* @param String $string 암호화할 문자열
* @param String $skey Encryption EKY
* @return String
*/
함수 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));
}

/**
* 단순 대칭암호 알고리즘 복호화
* @param String $string 복호화할 문자열
* @param String $skey Decryption KEY
* @return String
*/
함수 디코드($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进system
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教程兴趣的朋友有所帮助。

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿