收藏一个简洁的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(phpdaily)

原文发表时间:2015-08-01

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏编程微刊

【前端统计图】echarts多条折线图和横柱状图实现

1523
来自专栏QQ会员技术团队的专栏

Android新一代多渠道打包神器

关于作者: 李涛,腾讯Android工程师,14年加入腾讯SNG增值产品部,期间主要负责手Q动漫、企鹅电竞等项目的功能开发和技术优化。业务时间喜欢折腾新技术,写...

2549
来自专栏小樱的经验随笔

Codeforces 833E Caramel Clouds

E. Caramel Clouds time limit per test:3 seconds memory limit per test:256 megaby...

2727
来自专栏夏时

又挖到了一个天气Api接口(附使用示例)

1234
来自专栏PHP技术

PHP处理密码的几种方式

在使用PHP开发Web应用的中,很多的应用都会要求用户注册,而注册的时候就需要我们对用户的信息进行处理了,最常见的莫过于就是邮箱和密码了,本文意在讨论对密码的处...

894
来自专栏FSociety

Python爬虫爬取网易云音乐全部评论

. 2.接下来就打开控制台找我们要的评论藏在哪里就好了。 我们在http://music.163.com/weapi/v1/resource...

763
来自专栏李涛的专栏

Android 新一代多渠道打包神器

ApkChannelPackage 是一种快速多渠道打包工具,同时支持基于 V1 签名和 V2 签名进行多渠道打包。插件本身会自动检测 Apk 使用的签名方法,...

2.8K2
来自专栏Hongten

How to change Eclipse loading image

Eclipse IDE has many customize components, the splash welcome image (purple colo...

381
来自专栏张戈的专栏

WordPress发布/更新文章、提交/审核评论自动清理腾讯云CDN缓存

目前张戈博客同时使用了腾讯云、VeryCloud 以及七牛 CDN,其中腾讯云负责电信线路流量,VeryCloud 负责默认线路流量,而七牛主要是用于缩略图展示...

33910
来自专栏晓晨的专栏

ABP从入门到精通(4):使用基于JWT标准的Token访问WebApi

1003

扫描关注云+社区