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

一个简洁的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));  
}  

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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/113752.html原文链接:https://javaforall.net

(0)
上一篇 2021年10月12日 上午8:00
下一篇 2021年10月12日 上午8:00


相关推荐

  • MySQL数据库:查看数据库性能常用命令

    MySQL数据库:查看数据库性能常用命令

    2021年4月9日
    126
  • 隐藏窗口任务栏图标的三种方法

    隐藏窗口任务栏图标的三种方法本文介绍三种方法,可以实现隐藏窗口在任务栏中的图标。其中前两种比较坑爹,不建议使用。转载:原文:https://www.xuebuyuan.com/1338887.html方法1:ModifyStyleEx(WS_EX_APPWINDOW,WS_EX_TOOLWINDOW);为窗口设置WS_EX_TOOLWINDOW属性。会有以下效果:1.窗口图标不在任务栏显…

    2022年7月19日
    16
  • 74款android开机动画,修改Android系统开机动画

    74款android开机动画,修改Android系统开机动画Android系统开机动画包括两部分:开机显示的ANDROID文字;ANDROID发光动画。这篇文章说的开机动画是第一种,下面开始正文!1.制作当前屏幕像素的图片(模拟器默认为320*480)使用PS制作一张320*480的图片,保存时选“保存为Web所用格式”,然后在弹开的窗口上,“预设”项选择“PNG-24”,保存为android_logo.png注:好像只支持png-24,其他格式生…

    2022年5月14日
    51
  • NAND FLash基础概念介绍

    NAND FLash基础概念介绍本文详细介绍了 NAND 的基础概念 从 NAND 的硬件接口 存储结构以及原理方面 对 NAND 进行了深入的阐述 希望读者看完后 对 NAND 的存储结构和原理有了更深刻的认识 欢迎大家一起来交流 谢谢

    2026年3月26日
    2
  • RapidXml使用

    RapidXml使用vs2017rapidxml-1.131RapidXml使用1.1创建xml#include<iostream>#include”rapidxml/rapidxml.hpp”#include”rapidxml/rapidxml_utils.hpp”#include”rapidxml/rapidxml_print.hpp”usingnamespacerapidxml;voidcrateXml(){ xml_document<>doc; x

    2022年7月17日
    25
  • quagga简介

    quagga简介Quagga 是一款功能比较强大的开源路由软件 支持 ip ripng ospfv2 ospfv3 bgp 等协议 目前最新版本为 Quagga1 1 0 安装 Quagga 的目的是使装有 linux 系统的电脑变成一台路由器 其主要的功能支持动态 静态路由的配置功能 通过简单的编译 安装就可以让一台 linux 化身成为路由器 提供类似于思科的命令行配置模型 可以提供给用户配置路由相关信息的用户界面

    2026年3月19日
    1

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号