>  기사  >  백엔드 개발  >  md5와 결합된 PHP를 사용한 암호화 및 복호화 알고리즘의 예

md5와 결합된 PHP를 사용한 암호화 및 복호화 알고리즘의 예

高洛峰
高洛峰원래의
2016-12-21 09:17:091226검색

이 글의 예에서는 md5와 결합된 PHP의 암호화 및 복호화 알고리즘을 설명합니다. 참고할 수 있도록 모든 사람과 공유하세요. 세부 사항은 다음과 같습니다.

<?php
/*
* Created on 2016-9-30
*
*/
function encrypt($data, $key)
{
 $key = md5($key);
  $x = 0;
  $len = strlen($data);
  $l = strlen($key);
  for ($i = 0; $i < $len; $i++)
  {
    if ($x == $l)
    {
     $x = 0;
    }
    $char .= $key{$x};
    $x++;
  }
  for ($i = 0; $i < $len; $i++)
  {
    $str .= chr(ord($data{$i}) + (ord($char{$i})) % 256);
  }
  return base64_encode($str);
}
function decrypt($data, $key)
{
 $key = md5($key);
  $x = 0;
  $data = base64_decode($data);
  $len = strlen($data);
  $l = strlen($key);
  for ($i = 0; $i < $len; $i++)
  {
    if ($x == $l)
    {
     $x = 0;
    }
    $char .= substr($key, $x, 1);
    $x++;
  }
  for ($i = 0; $i < $len; $i++)
  {
    if (ord(substr($data, $i, 1)) < ord(substr($char, $i, 1)))
    {
      $str .= chr((ord(substr($data, $i, 1)) + 256) - ord(substr($char, $i, 1)));
    }
    else
    {
      $str .= chr(ord(substr($data, $i, 1)) - ord(substr($char, $i, 1)));
    }
  }
  return $str;
}
$data = &#39;中文网www.php.cn&#39;; // 被加密信息
$data=iconv("gbk","utf-8",$data);
$key = &#39;www.jb51.net&#39;;   // 密钥
$encrypt = encrypt($data, $key);
$decrypt = decrypt($encrypt, $key);
echo $encrypt, "<br/>", $decrypt;
?>

실행 결과는 다음과 같습니다.

TrXMTM8SFB3DGhTr2qeuYqOXZmpmn8mo
中文网www.php.cn

이 기사가 PHP를 사용하는 모든 사람에게 도움이 되기를 바랍니다. 프로그램 작성.

md5 암호화 및 복호화 알고리즘 예제와 결합된 PHP 관련 기사를 더 보려면 PHP 중국어 웹사이트를 주목하세요!


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.