Maison > développement back-end > tutoriel php > Classe de traitement de chiffrement et de déchiffrement implémentée en PHP

Classe de traitement de chiffrement et de déchiffrement implémentée en PHP

PHPz
Libérer: 2021-05-31 16:22:22
avant
3335 Les gens l'ont consulté

Cet article vous présentera la méthode d'implémentation des classes de traitement de chiffrement et de déchiffrement en PHP, et analysera la définition et les compétences d'utilisation des classes de chiffrement et de déchiffrement PHP sous forme d'exemples. Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer. J'espère qu'il sera utile à tout le monde.

Classe de traitement de chiffrement et de déchiffrement implémentée en PHP

Classe de traitement de chiffrement et de déchiffrement implémentée par 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))); //解密
?>
Copier après la connexion

Apprentissage recommandé : "Tutoriel vidéo PHP

Étiquettes associées:
source:jb51.net
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal