• 一个简洁的PHP可逆加密函数(分享)


    http://www.jb51.net/article/38018.htm

    本篇文章是对一个简洁的PHP可逆加密函数进行了详细的分析介绍,需要的朋友参考下
     

    很多时候我们需要对数据进行加密解密,比如有些数据需要保存到cookie中,但又不能被用户轻易得到这些数据,这时我们就需要加密这些数据保存到cookie中,等我们需要使用它们的时候再解密。

    加密的过程如下:

    复制代码代码如下:

    // 加密数据并写到cookie里
    $cookie_data = $this -> encrypt("nowamagic", $data);

    $cookie = array(
        'name'   => '$data',
        'value'  => $cookie_data,
        'expire' => $user_expire,
        'domain' => '',
        'path'   => '/',
        'prefix' => ''
    );
    $this->input->set_cookie($cookie);

    // 加密
    public function encrypt($key, $plain_text) {  
        $plain_text = trim($plain_text);  
        $iv = substr(md5($key), 0,mcrypt_get_iv_size (MCRYPT_CAST_256,MCRYPT_MODE_CFB));  
        $c_t = mcrypt_cfb (MCRYPT_CAST_256, $key, $plain_text, MCRYPT_ENCRYPT, $iv);  
        return trim(chop(base64_encode($c_t)));  

    使用的时候再解密:
    if( isset($_COOKIE['data']) )
    {
        //用cookie给session赋值
        $_SESSION['data'] = decrypt("nowamagic", $_COOKIE['data']);
    }

    function decrypt($key, $c_t) {  
        $c_t = trim(chop(base64_decode($c_t)));  
        $iv = substr(md5($key), 0,mcrypt_get_iv_size (MCRYPT_CAST_256,MCRYPT_MODE_CFB));  
        $p_t = mcrypt_cfb (MCRYPT_CAST_256, $key, $c_t, MCRYPT_DECRYPT, $iv);  
        return trim(chop($p_t));  
    }  


    这里记录下这个可逆的加密函数的使用。
  • 相关阅读:
    restframework 生成接口文档
    django simpleRoute 简化路由
    django 视图GenericView
    备份问题-原生问题
    django 中如何使用celery 和redis
    主外键定义与主从表关系
    django restframework 钩子函数:全局钩子和局部钩子
    QuerySet Django 几个必会方法
    django restframework -模型序列化高级用法终极篇
    django User.objects.get()报错 raise self.model.DoesNotExist手动处理解决办法
  • 原文地址:https://www.cnblogs.com/lxwphp/p/7866410.html
Copyright © 2020-2023  润新知