熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> PHP編程 >> 正文

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

2013-11-15 12:38:09  來源: PHP編程 

  <?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))); ?>
From:http://tw.wingwit.com/Article/program/PHP/201311/21324.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.