程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> php加密解密處理類--參 考:Discuz論壇的passpor

php加密解密處理類--參 考:Discuz論壇的passpor

編輯:關於PHP編程

    <?php

    02 /*=========================================================== 03 = 版權協議: 04 = GPL (The GNU GENERAL PUBLIC LICENSE Version 2, June 1991) 05 =------------------------------------------------------------ 06 = 文件名稱:cls.sys_crypt.php 07 = 摘    要:php加密解密處理類 08 = 版    本:1.0 09 = 參    考:Discuz論壇的passport相關函數 10 =------------------------------------------------------------ 11 = Script Written By PHPWMS項目組 12 = 最後更新:xinge 13 = 最後日期:2007-12-09 14 ============================================================*/ 15   16 class SysCrypt { 17   18 private $crypt_key; 19   20 // 構造函數 21 public function __construct($crypt_key) { 22    $this -> crypt_key = $crypt_key; 23 } 24   25 public function php_encrypt($txt) { 26    srand((double)microtime() * 1000000); 27    $encrypt_key = md5(rand(0,32000)); 28    $ctr = 0; 29    $tmp = ''; 30    for($i = 0;$i<strlen($txt);$i++) { 31     $ctr = $ctr == strlen($encrypt_key) ? 0 : $ctr; 32     $tmp .= $encrypt_key[$ctr].($txt[$i]^$encrypt_key[$ctr++]); 33    } 34    return base64_encode(self::__key($tmp,$this -> crypt_key)); 35 } 36   37 public function php_decrypt($txt) { 38    $txt = self::__key(base64_decode($txt),$this -> crypt_key); 39    $tmp = ''; 40    for($i = 0;$i < strlen($txt); $i++) { 41     $md5 = $txt[$i]; 42     $tmp .= $txt[++$i] ^ $md5; 43    } 44    return $tmp; 45 } 46   47 private function __key($txt,$encrypt_key) { 48    $encrypt_key = md5($encrypt_key); 49    $ctr = 0; 50    $tmp = ''; 51    for($i = 0; $i < strlen($txt); $i++) { 52     $ctr = $ctr == strlen($encrypt_key) ? 0 : $ctr; 53     $tmp .= $txt[$i] ^ $encrypt_key[$ctr++]; 54    } 55    return $tmp; 56 } 57   58 public function __destruct() { 59    $this -> crypt_key = null; 60 } 61 } 62   63   64 $sc = new SysCrypt('phpwms'); 65 $text = '110'; 66 print($sc -> php_encrypt($text)); 67 print('<br>'); 68 print($sc -> php_decrypt($sc -> php_encrypt($text))); 69 ?>
    1. 上一頁:
    2. 下一頁:
    Copyright © 程式師世界 All Rights Reserved