Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Kelas pemprosesan penyulitan dan penyahsulitan dilaksanakan dalam PHP

Kelas pemprosesan penyulitan dan penyahsulitan dilaksanakan dalam PHP

PHPz
PHPzke hadapan
2016-05-16 09:00:083313semak imbas

Artikel ini akan memperkenalkan anda kepada kaedah melaksanakan kelas pemprosesan penyulitan dan penyahsulitan dalam PHP, dan menganalisis definisi dan kemahiran penggunaan kelas penyulitan dan penyahsulitan PHP dalam bentuk contoh. Ia mempunyai nilai rujukan tertentu Rakan-rakan yang memerlukan boleh merujuk kepadanya.

Kelas pemprosesan penyulitan dan penyahsulitan dilaksanakan dalam PHP

Kelas pemprosesan penyulitan dan penyahsulitan dilaksanakan oleh 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))); //解密
?>

Pembelajaran yang disyorkan: "Tutorial video PHP

Kenyataan:
Artikel ini dikembalikan pada:jb51.net. Jika ada pelanggaran, sila hubungi admin@php.cn Padam