zoukankan      html  css  js  c++  java
  • 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);
        }
    }
  • 相关阅读:
    Mysql-update limit限制更新条数
    解决 gitbook serve 报错 Error: listen EADDRINUSE: address already in use :::35729
    解决gulp-gulify报错`warnings` is not a supported option
    解决ionic在手机上拍照图片旋转的问题
    mac OSX chrome 访问HTTPS时提示您的连接不是私密连接,NET::ERR_CERT_INVALID,而且没有“继续”访问按钮
    iView Modal对话框 设置可拖动(dragable)时,一拖就消失
    nvm常用指令
    telegram for mac 登录时手机端收不到验证码
    Ionic 安卓打包或运行报错:You have not accepted the license agreements of the following SDK components
    诡镇奇谈卡牌版 AHLCG 规则简要
  • 原文地址:https://www.cnblogs.com/qhorse/p/4597368.html
Copyright © 2011-2022 走看看