PHP8.1.21版本已发布
vue8.1.21版本已发布
jquery8.1.21版本已发布

PHP实现的加密解密处理类

PHPz
PHPz 转载
2016-05-16 09:00:08 3095浏览

本篇文章给大家介绍一下php实现加密解密处理类的方法,结合实例形式分析了php加密解密类的定义与使用技巧。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。

PHP实现的加密解密处理类

<?php
class SysCrypt {
 private $crypt_key;
 // 构造函数
 public function __construct($crypt_key) {
  $this -> crypt_key = $crypt_key;
 }
 public function php_encrypt($txt) {
  srand((double)microtime() * 1000000);
  $encrypt_key = md5(rand(0,32000));
  $ctr = 0;
  $tmp = &#39;&#39;;
  for($i = 0;$i<strlen($txt);$i++) {
   $ctr = $ctr == strlen($encrypt_key) ? 0 : $ctr;
   $tmp .= $encrypt_key[$ctr].($txt[$i]^$encrypt_key[$ctr++]);
  }
  return base64_encode(self::__key($tmp,$this -> crypt_key));
 }
 public function php_decrypt($txt) {
  $txt = self::__key(base64_decode($txt),$this -> crypt_key);
  $tmp = &#39;&#39;;
  for($i = 0;$i < strlen($txt); $i++) {
   $md5 = $txt[$i];
   $tmp .= $txt[++$i] ^ $md5;
  }
  return $tmp;
 }
 private function __key($txt,$encrypt_key) {
  $encrypt_key = md5($encrypt_key);
  $ctr = 0;
  $tmp = &#39;&#39;;
  for($i = 0; $i < strlen($txt); $i++) {
   $ctr = $ctr == strlen($encrypt_key) ? 0 : $ctr;
   $tmp .= $txt[$i] ^ $encrypt_key[$ctr++];
  }
  return $tmp;
 }
 public function __destruct() {
  $this -> crypt_key = null;
 }
 }
 //执行代码
 $sc = new SysCrypt(&#39;phpwms&#39;);
 $text = &#39;abc10000008910000000990099hh&#39;; //需要加密的数据
 print($sc -> php_encrypt($text)); //加密
 print(&#39;<br>&#39;);
 print($sc -> php_decrypt($sc -> php_encrypt($text))); //解密
?>

推荐学习:《PHP视频教程

声明:本文转载于:脚本之家,如有侵犯,请联系admin@php.cn删除