收藏一个简洁的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 条评论
登录 后参与评论

相关文章

来自专栏王磊的博客

nodejs与javascript中的aes加密

简介 1.aes加密简单来说,在密码学中又称Rijndael加密法,是美国联邦政府采用的一种区块加密标准。这个标准用来替代原先的DES,已经被多方分析且广为全世...

3138
来自专栏Play & Scala 技术分享

解析Java为什么不接受合法的HTTPS证书

2805
来自专栏Samego开发资源

RAID磁盘阵列-Redundant Arrays of Independent Disks

1383
来自专栏贾老师の博客

数字证书与安全

1343
来自专栏java一日一条

DES/3DES/AES 三种对称加密算法在 Java 中的实现

1)算法和数据结构就是编程的一个重要部分,你若失掉了算法和数据结构,你就把一切都失掉了。 2)编程就是算法和数据结构,算法和数据结构是编程的灵魂。

502
来自专栏安全领域

最佳安全实战:在 Java 和 Android 里用 AES 进行对称加密

原文地址:https://proandroiddev.com/security-best-practices-symmetric-encryption-with...

1553
来自专栏Rgc

前端js,后台python实现RSA非对称加密

先熟悉使用 在后台使用RSA实现秘钥生产,加密,解密;   # -*- encoding:utf-8 -*- import base64 from C...

4436
来自专栏SAP最佳业务实践

SAP最佳业务实践:SD–含客户预付款的销售订单处理(201)-5发货

VL10C交货处理 在此活动中,创建交货。 后勤 ®后勤执行 ® 外向处理 ® 外向交货的发货 ® 外向交货 ® 创建 ® 交货凭证到期日的集中处理 ®销售订单...

2456
来自专栏北京马哥教育

Openssl加密解密原理+CA自建实现

前言 互联网的惊人发展使企业和消费者都感到非常兴奋,它正改变着我们的生活和工作方式。但是,互联网的安全程度如何——尤其是在通过它发送机密信息时的安全性——已...

2576
来自专栏CaiRui

Nginx服务优化配置

1、expires缓存模块 ? 具体配置可参考官方文档 http://nginx.org/en/docs/http/ngx_http_headers_modul...

34310

扫码关注云+社区