一个简洁的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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 大数据开发基础之Java基础[通俗易懂]

    大数据开发基础之Java基础[通俗易懂]大数据给很多人的感觉是,专业性强,操作繁琐,属于“高大上”的技术。大数据人才供不应求,有一些人则看到了大数据带来的机遇,想通过专业的培训来学习大数据,那么大数据从0开始需要学习些什么内容呢一、0基础学习大数据需要Java基础Java:开发需求最多的编程语言之一,可以从事网站开发、桌面程序设计、游戏开发、安卓后台开发、全栈开发等。它可以说是大数据最基础的编程语言,一是大数据的本质是…

    2022年5月22日
    40
  • java与c的区别_c 和java的区别是什么

    java与c的区别_c 和java的区别是什么Java和C都是指令式语言(ImperativeLanguage),不同的是Java有面向对象(OO)成分在里面,而C是完全面向过程的,C的高级版本C++、C#支持面向对象。另外一个不同是,Java跨平台,既不同的操作系统都可以通过JVM来解释Java程序,而C、C++、C#则是与平台相关的,有些指令只在某些操作系统中才能执行。具体原因是,Java是解释型语言,所有代码都会翻译成统一的、与系统无…

    2022年7月8日
    16
  • broadcast receiver_consolidator

    broadcast receiver_consolidator应用调用RegisterReciever,实质是调用的ContextImpl的registerReceiver,接下来跟一下这个流程:@OverridepublicIntentregisterReceiver(BroadcastReceiverreceiver,IntentFilterfilter){returnregisterReceiver(receiver,…

    2022年9月12日
    0
  • qt lineedit_个人总结学生

    qt lineedit_个人总结学生QLineEdit是一个单行文本编辑控件。使用者可以通过很多函数,输入和编辑单行文本,比如撤销、恢复、剪切、粘贴以及拖放等。通过改变QLineEdit的 echoMode() ,可以设置其属性,比如以密码的形式输入。文本的长度可以由 maxLength() 限制,可以通过使用 validator() 或者 inputMask() 可以限制它只能输入数字。在对同一个QLineEdit的validat…

    2022年10月6日
    0
  • 数据挖掘项目一般多少钱_预测类数据挖掘项目

    数据挖掘项目一般多少钱_预测类数据挖掘项目数据挖掘项目(一)第一次实践数据挖掘。虚心学习。基于机器学习的数据分析模型的建立,主要分为以下几步:数据获取->数据预处理->模型选择->数据统一化->模型建立->模型结果分析首先要对数据进行评估,数据的大小来决定使用工具。本数据为金融数据,目的为预测贷款用户是否会逾期。导入数据importpandasaspdimportnumpyasn…

    2022年9月5日
    3
  • firefox修改版_火狐浏览器没有收藏按钮

    firefox修改版_火狐浏览器没有收藏按钮雅虎收藏+的扩展,不是不能用,也不是冲突,现在还没有发现,改造后用的好好的。就是它安装包里的安装文件的版本限制问题,它支持了2.*版本的firefox,ff3就自动把它列为不支持的扩展了,其实都好着呢。所以只需把安装软件改一下就没有问题了。怎么改呢?对于新装“雅虎收藏+”扩展的人:用7-zip或winzip或winrar等解压缩工具打开yahoo.xpi文件。这个xpi其实就是个zi…

    2025年7月5日
    0

发表回复

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

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