php

位置:IT落伍者 >> php >> 浏览文章

php加密解密处理类--参 考:Discuz论坛的passpor


发布日期:2023年05月31日
 
php加密解密处理类--参 考:Discuz论坛的passpor

<?php

                                    /*===========================================================                                                 = 版权协议                                                 = GPL (The GNU GENERAL PUBLIC LICENSE Version June )                                                 =                                                 = 文件名称clssys_cryptphp                                                 = 摘 要php加密解密处理类                                                 = 版 本                                                 = 参 考Discuz论坛的passport相关函数                                                 =                                                 = Script Written By PHPWMS项目组                                                 = 最后更新xinge                                                 = 最后日期                                                 ============================================================*/                                                                                                class SysCrypt {                                                                                                 private $crypt_key;                                                                                                 // 构造函数                                                 public function __construct($crypt_key) {                                                 $this > crypt_key = $crypt_key;                                                 }                                                                                                 public function php_encrypt($txt) {                                                 srand((double)microtime() * );                                                 $encrypt_key = md(rand());                                                 $ctr = ;                                                 $tmp = ;                                                 for($i = ;$i<strlen($txt);$i++) {                                                 $ctr = $ctr == strlen($encrypt_key) ? : $ctr;                                                 $tmp = $encrypt_key[$ctr]($txt[$i]^$encrypt_key[$ctr++]);                                                 }                                                 return base_encode(self::__key($tmp$this > crypt_key));                                                 }                                                                                                 public function php_decrypt($txt) {                                                 $txt = self::__key(base_decode($txt)$this > crypt_key);                                                 $tmp = ;                                                 for($i = ;$i < strlen($txt); $i++) {                                                 $md = $txt[$i];                                                 $tmp = $txt[++$i] ^ $md;                                                 }                                                 return $tmp;                                                 }                                                                                                 private function __key($txt$encrypt_key) {                                                 $encrypt_key = md($encrypt_key);                                                 $ctr = ;                                                 $tmp = ;                                                 for($i = ; $i < strlen($txt); $i++) {                                                 $ctr = $ctr == strlen($encrypt_key) ? : $ctr;                                                 $tmp = $txt[$i] ^ $encrypt_key[$ctr++];                                                 }                                                 return $tmp;                                                 }                                                                                                 public function __destruct() {                                                 $this > crypt_key = null;                                                 }                                                 }                                                                                                                                                 $sc = new SysCrypt(phpwms);                                                 $text = ;                                                 print($sc > php_encrypt($text));                                                 print(<br>);                                                 print($sc > php_decrypt($sc > php_encrypt($text)));                                                 ?>                           

上一篇:提高PHP编程效率的53个要点

下一篇:php调用MySQL存储过程的方法集合