• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

PHP实现加密解密算法_php

php 搞代码 3年前 (2018-06-21) 126次浏览 已收录 0个评论

php实现加密解密算法,如下代码:

  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. }  

欢迎大家阅读《PHP实现加密解密算法_php,跪求各位点评,若觉得好的话请收藏本文,by 搞代码


喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址