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

php加密解密實用類分享

編輯:關於PHP編程

     加密和解密是一項常規任務,這裡介紹一個加解密類。如果你想在用戶忘記密碼時為他或她找回原來的密碼,那麼這個類是個好用的工具

    用戶注冊的密碼一般不會明文保存,總得加個密先。最簡單的當然是在數據庫sql語句中調用md5函數加密用戶密碼。這裡介紹一個加解密類。如果你想在用戶忘記密碼時為他或她找回原來的密碼,那麼這個類是個好用的工具。當然,這個加解密類也可用於其他用途。  代碼如下: <?php   class crypt {       private $skey;       public function __construct($key) {         $this->skey = hash("md5", $key, true); //32位skey     }       public function safe_b64encode($string) {         $data = base64_encode($string);         $data = str_replace(array('+', '/', '='), array('-', '_', ''), $data);         return $data;     }       public function safe_b64decode($string) {         $data = str_replace(array('-', '_'), array('+', '/'), $string);         $mod4 = strlen($data) % 4;         if ($mod4) {             $data .= substr('====', $mod4);         }         return base64_decode($data);     }       public function encode($value) {         if (!$value) {             return false;         }         $text = $value;         $iv_size = mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_ECB);         $iv = mcrypt_create_iv($iv_size, MCRYPT_RAND);         $crypttext = mcrypt_encrypt(MCRYPT_RIJNDAEL_256, $this->skey, $text, MCRYPT_MODE_ECB, $iv);         return trim($this->safe_b64encode($crypttext));     }       public function decode($value) {         if (!$value) {             return false;         }         $crypttext = $this->safe_b64decode($value);         $iv_size = mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_ECB);         $iv = mcrypt_create_iv($iv_size, MCRYPT_RAND);         $decrypttext = mcrypt_decrypt(MCRYPT_RIJNDAEL_256, $this->skey, $crypttext, MCRYPT_MODE_ECB, $iv);         return trim($decrypttext);     }   }  
    1. 上一頁:
    2. 下一頁:
    Copyright © 程式師世界 All Rights Reserved