• php加密解密




    <?php
    class Mcrypt
    {
        /**
         * 解密
         * 
         * @param string $encryptedText 已加密字符串
         * @param string $key  密钥
         * @return string
         
    */
        public static function _decrypt($encryptedText,$key = null)
        {
            $key = $key === null ? Config::get('secret_key') : $key;
            $cryptText = base64_decode($encryptedText);
            $ivSize = mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_ECB);
            $iv = mcrypt_create_iv($ivSize, MCRYPT_RAND);
            $decryptText = mcrypt_decrypt(MCRYPT_RIJNDAEL_256, $key, $cryptText, MCRYPT_MODE_ECB, $iv);
            return trim($decryptText);
        }
     
        /**
         * 加密
         *
         * @param string $plainText 未加密字符串 
         * @param string $key        密钥
         
    */
        public static function _encrypt($plainText,$key = null)
        {
            $key = $key === null ? Config::get('secret_key') : $key;
            $ivSize = mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_ECB);
            $iv = mcrypt_create_iv($ivSize, MCRYPT_RAND);
            $encryptText = mcrypt_encrypt(MCRYPT_RIJNDAEL_256, $key, $plainText, MCRYPT_MODE_ECB, $iv);
            return trim(base64_encode($encryptText));
        }
    }
    2. [代码][PHP]代码     

    <?php
    class Cookie extends Mcrypt
    {
        /**
         * 删除cookie
         * 
         * @param array $args
         * @return boolean
         
    */
        public static function del($args)
        {
            $name = $args['name'];
            $domain = isset($args['domain']) ? $args['domain'] : null;
            return isset($_COOKIE[$name]) ? setcookie($name, '', time() - 86400'/', $domain) : true;
        }
         
        /**
         * 得到指定cookie的值
         * 
         * @param string $name
         
    */
        public static function get($name)
        {
            return isset($_COOKIE[$name]) ? parent::_decrypt($_COOKIE[$name]) : null;
        }
         
        /**
         * 设置cookie
         *
         * @param array $args
         * @return boolean
         
    */
        public static function set($args)
        {
            $name = $args['name'];
            $value= parent::_encrypt($args['value']);
            $expire = isset($args['expire']) ? $args['expire'] : null;
            $path = isset($args['path']) ? $args['path'] : '/';
            $domain = isset($args['domain']) ? $args['domain'] : null;
            $secure = isset($args['secure']) ? $args['secure'] : 0;
            return setcookie($name, $value, $expire, $path, $domain, $secure);
        }
    }
  • 相关阅读:
    Golang教程:并发介绍
    Go在windows10 64位上安装
    ElasticSearch 聚合
    ElasticSearch深入搜索
    ElasticSearch基础入门
    php安装扩展
    报错提示优化
    NK3C程序配置
    NK3C 业务权限控制
    关于测试方法
  • 原文地址:https://www.cnblogs.com/qhorse/p/4597368.html
Copyright © 2020-2023  润新知