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

 更新时间:2013年06月06日 15:32:49   作者:  
本篇文章是对一个简洁的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)); 


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

相关文章

  • PHP开启gzip页面压缩实例代码

    PHP开启gzip页面压缩实例代码

    GZIP(GNU-ZIP)是一种压缩技术。经过GZIP压缩后页面大小可以变为原来的30%甚至更小。这样用户浏览的时候就会感觉很爽很愉快!
    2010-03-03
  • 浅谈php://filter的妙用

    浅谈php://filter的妙用

    php://filter是PHP中独有的协议,利用这个协议可以创造很多“妙用”,有需要的朋友们学习下
    2019-03-03
  • php中filter_input函数用法分析

    php中filter_input函数用法分析

    这篇文章主要介绍了php中filter_input函数用法,实例分析了采用filter_input函数过滤各种外部输入的方法,对于PHP程序设计来说具有不错的参考借鉴价值,需要的朋友可以参考下
    2014-11-11
  • php curl操作API接口类完整示例

    php curl操作API接口类完整示例

    这篇文章主要介绍了php curl操作API接口类,结合完整形式形式分析了php针对curl请求发送、获取、设置、关闭连接等操作封装技巧,需要的朋友可以参考下
    2019-05-05
  • php导出CSV抽象类实例

    php导出CSV抽象类实例

    这篇文章主要介绍了php导出CSV抽象类及其用法示例,可实现循环导出功能,从而避免内存不足的问题,需要的朋友可以参考下
    2014-09-09
  • 一个简单至极的PHP缓存类代码

    一个简单至极的PHP缓存类代码

    这篇文章和大家分享了一个简单至极的PHP缓存类代码,缓存的应用对于php项目的开发来说尤为重要,需要的朋友可以参考下
    2015-10-10
  • PHP实现的QQ空间g_tk加密算法

    PHP实现的QQ空间g_tk加密算法

    这篇文章主要介绍了PHP实现的QQ空间g_tk加密算法,涉及php针对字符串的转换技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-07-07
  • php实现微信公众平台账号自定义菜单类

    php实现微信公众平台账号自定义菜单类

    这篇文章主要介绍了php实现微信公众平台账号自定义菜单类的相关资料,需要的朋友可以参考下
    2015-10-10
  • php命令行(cli)模式下报require 加载路径错误的解决方法

    php命令行(cli)模式下报require 加载路径错误的解决方法

    本文给大家解决的是在php的cli模式下做任务计划的php脚本总是执行不成功,报“require 加载路径错误”,后来经过一番研究,才找到问题所在,这里分享给大家。
    2015-11-11
  • 学习php设计模式 php实现模板方法模式

    学习php设计模式 php实现模板方法模式

    这篇文章主要介绍了php设计模式中的模板方法模式,使用php实现模板方法模式,感兴趣的小伙伴们可以参考一下
    2015-12-12

最新评论