html5中文学习网

您的位置: 首页 > 网络编程 > PHP编程 » 正文

PHP实现加密解密算法_PHP教程_编程技术

[ ] 已经帮助:人解决问题

PHP实现加密解密的算法,如下代码:Ni8HTML5中文学习网 - HTML5先行者学习网

  1. <?php   
  2. class Mcrypt   
  3. {   
  4.     /**  
  5.      * 解密  
  6.      *   
  7.      * @param string $encryptedText 已加密字符串  
  8.      * @param string $key  密钥  
  9.      * @return string  
  10.      */   
  11.     public static function _decrypt($encryptedText,$key = null)   
  12.     {   
  13.         $key = $key === null ? Config::get('secret_key') : $key;   
  14.         $cryptText = base64_decode($encryptedText);   
  15.         $ivSize = mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_ECB);   
  16.         $iv = mcrypt_create_iv($ivSize, MCRYPT_RAND);   
  17.         $decryptText = mcrypt_decrypt(MCRYPT_RIJNDAEL_256, $key$cryptText, MCRYPT_MODE_ECB, $iv);   
  18.         return trim($decryptText);   
  19.     }   
  20.    
  21.     /**  
  22.      * 加密  
  23.      *  
  24.      * @param string $plainText 未加密字符串   
  25.      * @param string $key        密钥  
  26.      */   
  27.     public static function _encrypt($plainText,$key = null)   
  28.     {   
  29.         $key = $key === null ? Config::get('secret_key') : $key;   
  30.         $ivSize = mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_ECB);   
  31.         $iv = mcrypt_create_iv($ivSize, MCRYPT_RAND);   
  32.         $encryptText = mcrypt_encrypt(MCRYPT_RIJNDAEL_256, $key$plainText, MCRYPT_MODE_ECB, $iv);   
  33.         return trim(base64_encode($encryptText));   
  34.     }   
  35. }   
  36.  
  37. //调用 
  38. class Cookie extends Mcrypt   
  39. {   
  40.     /**  
  41.      * 删除cookie  
  42.      *   
  43.      * @param array $args  
  44.      * @return boolean  
  45.      */   
  46.     public static function del($args)   
  47.     {   
  48.         $name = $args['name'];   
  49.         $domain = isset($args['domain']) ? $args['domain'] : null;   
  50.         return isset($_COOKIE[$name]) ? setcookie($name'', time() - 86400, '/'$domain) : true;   
  51.     }   
  52.        
  53.     /**  
  54.      * 得到指定cookie的值  
  55.      *   
  56.      * @param string $name  
  57.      */   
  58.     public static function get($name)   
  59.     {   
  60.         return isset($_COOKIE[$name]) ? parent::_decrypt($_COOKIE[$name]) : null;   
  61.     }   
  62.        
  63.     /**  
  64.      * 设置cookie  
  65.      *  
  66.      * @param array $args  
  67.      * @return boolean  
  68.      */   
  69.     public static function set($args)   
  70.     {   
  71.         $name = $args['name'];   
  72.         $value= parent::_encrypt($args['value']);   
  73.         $expire = isset($args['expire']) ? $args['expire'] : null;   
  74.         $path = isset($args['path']) ? $args['path'] : '/';   
  75.         $domain = isset($args['domain']) ? $args['domain'] : null;   
  76.         $secure = isset($args['secure']) ? $args['secure'] : 0;   
  77.         return setcookie($name$value$expire$path$domain$secure);   
  78.     }   
  79. }  
Ni8HTML5中文学习网 - HTML5先行者学习网
Ni8HTML5中文学习网 - HTML5先行者学习网
(责任编辑:)
推荐书籍
推荐资讯
关于HTML5先行者 - 联系我们 - 广告服务 - 友情链接 - 网站地图 - 版权声明 - 人才招聘 - 帮助