• 收藏一个简洁的PHP可逆加密函数


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

    加密的过程如下:

    01 // 加密数据并写到cookie里
    02 $cookie_data $this -> encrypt("nowamagic"$data);
    03                  
    04 $cookie array(
    05     'name'   => '$data',
    06     'value'  => $cookie_data,
    07     'expire' => $user_expire,
    08     'domain' => '',
    09     'path'   => '/',
    10     'prefix' => ''
    11 );
    12 $this->input->set_cookie($cookie);
    13  
    14 // 加密
    15 public function encrypt($key$plain_text) {  
    16     $plain_text = trim($plain_text);  
    17     $iv substr(md5($key), 0,mcrypt_get_iv_size (MCRYPT_CAST_256,MCRYPT_MODE_CFB));  
    18     $c_t = mcrypt_cfb (MCRYPT_CAST_256, $key$plain_text, MCRYPT_ENCRYPT,$iv);  
    19     return trim(chop(base64_encode($c_t)));  
    20 }  

    使用的时候再解密:

    01 if( isset($_COOKIE['data']) )
    02 {
    03     //用cookie给session赋值
    04     $_SESSION['data'] = decrypt("nowamagic"$_COOKIE['data']);
    05 }
    06  
    07 function decrypt($key$c_t) {  
    08     $c_t = trim(chop(base64_decode($c_t)));  
    09     $iv substr(md5($key), 0,mcrypt_get_iv_size (MCRYPT_CAST_256,MCRYPT_MODE_CFB));  
    10     $p_t = mcrypt_cfb (MCRYPT_CAST_256, $key$c_t, MCRYPT_DECRYPT,$iv);  
    11     return trim(chop($p_t));  
    12

    这里记录下这个可逆的加密函数的使用。

  • 相关阅读:
    思科、华为交换机链路聚合(LACP)配置实例
    华为交换机如何批量配置端口
    接口配置stp disable和配置stp edgedport enable有何区别
    上一篇下一篇文章链接添加TITLE属性
    GitHub打不开解决办法
    华为交换机和思科交换机生成树协议对接/替换方案
    vue中key的作用
    网络模块封装
    Typora+PicGo+LskyPro打造舒适写作环境
    C++ 类的静态成员
  • 原文地址:https://www.cnblogs.com/cnsanshao/p/2874358.html
Copyright © 2020-2023  润新知