文档章节

php 加密与解密

摇滚哈哈狗
 摇滚哈哈狗
发布于 2016/12/05 09:47
字数 129
阅读 44
收藏 0

/**
 * laravel解密函数
 * @param $text
 * @param string $key
 * @return mixed|string
 */
function laravelDecrypt($text,$key='')
{

    $size =16;

    $defaultKey = @mcrypt_create_iv($size, MCRYPT_DEV_URANDOM);
    $key = empty($key)?$defaultKey:$key;
    $payload = json_decode(base64_decode($text), true);
    if(!$payload||!is_array($payload) || !isset($payload['iv']) || !isset($payload['value']) || !isset($payload['mac']))
    {
        return '';
    }
    $iv = base64_decode($payload['iv']);
    $decrypted = openssl_decrypt($payload['value'],'AES-256-CBC',$key,0, $iv);
    if ($decrypted === false) {
        return '';
    }
    return unserialize($decrypted);
}
function laravelEncrypt($text,$key='')
{

    $size = 16;
    $defaultKey = @mcrypt_create_iv($size, MCRYPT_DEV_URANDOM);
    $key = empty($key)?$defaultKey:$key;    
    $iv = @mcrypt_create_iv($size, MCRYPT_DEV_URANDOM);
    $value = openssl_encrypt(serialize($text),'AES-256-CBC', $key, 0, $iv);
    if ($value === false) {
        return '';
    }
    $iv = base64_encode($iv);
    $mac = hash_hmac('sha256', $iv.$value, $key);
    $json = json_encode(compact('iv', 'value', 'mac'));

    return base64_encode($json);
}

© 著作权归作者所有

摇滚哈哈狗
粉丝 14
博文 226
码字总数 28445
作品 0
深圳
程序员
私信 提问
regpandaplot/php screw plus

#php screw plus github https://github.com/del-xiong/screw-plus oschina http://git.oschina.net/splot/php-screw-plus 详细配置教程 http://www.jianshu.com/p/f6425e2f8643 (使用screw......

regpandaplot
2016/06/28
0
0
C# 如何 和php 的des 加密解密 保持一致

各自独立:php,。net自己加密解密是没问题的 首先测试过 MD5是一样的。 但是用php和。net加密的结果不一样 用php加密的数据用。net解密就报错 请问为什么??? php 代码是先写的 不能更改得...

十一文
2011/08/03
3.6K
8
做个类似于"www.zhaoyuanma.com"网站

【业务需求】 一、功能需求 做个类似于"www.zhaoyuanma.com"网站, 1. 首页 解密加密相关的简介,系统会员数,已经解密所有文件的数量、大小, 已经加密所有文件的数量、大小 今天新增注册会...

老四
2017/03/10
57
0
做个类似于"www.zhaoyuanma.com"网站

【业务需求】 一、功能需求 做个类似于"www.zhaoyuanma.com"网站, 1. 首页 解密加密相关的简介,系统会员数,已经解密所有文件的数量、大小, 已经加密所有文件的数量、大小 今天新增注册会...

老四
2017/03/10
11
0
Golang、PHP、Java、C#、ObjectC互通DES加密与解密

在完成一个大项目时候,我们要用到多语言来开发接口,每个模块可能分配到各小组中,各小组成员用到语言往往不一样,在向接口传递参数的时候,就要用到加密与解密。 在网上找了一些,这篇文章...

lock-li
2016/06/21
1K
2

没有更多内容

加载失败,请刷新页面

加载更多

CentOS 7系统增加swap

转载请注明文章出处:CentOS 7系统增加swap swap是位于磁盘上的特殊文件(或分区),属于“虚拟内存”的一部分。通俗点就是内存的备胎,内存充足的情况下,基本上没swap什么事(和设置有关)...

tlanyan
17分钟前
2
0
基于Prometheus和Grafana的监控平台 - 环境搭建

相关概念 微服务中的监控分根据作用领域分为三大类,Logging,Tracing,Metrics。 Logging - 用于记录离散的事件。例如,应用程序的调试信息或错误信息。它是我们诊断问题的依据。比如我们说...

JAVA日知录
57分钟前
5
0
PHP运行时全局构造体

struct _php_core_globals { zend_bool magic_quotes_gpc; // 是否对输入的GET/POST/Cookie数据使用自动字符串转义。 zend_bool magic_quotes_runtime; //是否对运行时从外部资源产生的数据使...

冻结not
59分钟前
4
0
webpack插件html-webpack-plugin

本文转载于:专业的前端网站→webpack插件html-webpack-plugin 1、插件安装 npm install html-webpack-plugin --save-dev 2、插件使用 webpack.config.js配置文件为: var htmlWebpackPlugin=...

前端老手
今天
6
0
数据挖掘

zhengchen1996
今天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部