学渣也要搞 laravel(4)—— 服务 加解密篇
使用 Crypt::encrypt() 对数据进行加密,[注意要引入 use Illuminate\Support\Facades\Crypt;; ]
简单的做个测试:
先分配一个路由:
Route::get('test','LoginController@crypt');
例子:
public function crypt(){ $pswd = '123456'; $pswd_lock = Crypt::encrypt($pswd);//加密$pswd echo $pswd_lock.'<br/>'; $pswd_open = Crypt::decrypt($pswd_lock); echo $pswd_open; }
输出: eyJpdiI6InlaYVJjVjVDME1YaVdRdTBIczd ... 一堆加密后的字符串
123456
这就是简单的用法例子,然后下面讲的就是之前做的后台一个登陆后的密码解密过程出现的 The Mac Is Invalid 错误 。
一开始看到这个错误的时候一脸蒙蔽。以为是代码哪有问题。然后一直断点调试发现到用户登陆时数据库里面之前加密的用户密码一堆字符串还能获取到的。但是使用Crypt::decrypt()去解密的时候就提示 The Mac Is Invalid 然后很郁闷重写了个上面的方法测试了一下发现没有问题啊。然后我在试着解密数据库里面的 那堆字符串就提示报错。然后百度了下 在看看 laravel手册 看到 :
在使用Laravel的加密器之前,应该在配置文件config/app.php
中设置key
选项为32位随机字符串。如果这个值没有被设置,所有Laravel加密过的值都是不安全的所有加密值都使用OpenSSL和AES-256-CBC
密码进行加密。此外,所有加密值都通过一个消息认证码(MAC)来检测对加密字符串的任何修改。
然后就想了想前几天写之前那个博文的时候做个下测试更换APP_KEY的artisan命令。之后就再次问了下大牛们、"果然就是这APP_KEY捣的鬼 ..."。 于是自己把从新加密后的 那堆字符串给放到数据库里面 再次登陆然后就解决了、 那么问题来了。假设项目APP_KEY被盗取,再次更换APP_KEY那数据库里面数据用户信息岂不是要重新写入?没错就是要重新弄。数据库里面的数据都作废掉了。但是APP_KEY基本上不会泄露。所以不要轻易更换APP_KEY。
学渣也要搞 laravel(4)—— 服务 加解密篇的更多相关文章
- 学渣也要搞 laravel(1)—— 安装篇
看到laravel(我叫它:拉瓦)那么热门,我也决定学上一学. Laravel 5.2 在 5.1 基础上继续改进和优化,添加了许多新的功能特性:多认证驱动支持.隐式模型绑定.简化Eloquent 全 ...
- 学渣也要搞 laravel(2)—— HTTP路由[1]篇
前几天忙了,然后快两个星期没有发博客.今天正式回归.哈哈 1. 路由 说到路由当时学的时候给我疑惑了几天..没有仔细看文档.然后一脸蒙蔽的去用 postman[谷歌插件] 测试路由方法.然后就很奇怪 ...
- 学渣也要搞 laravel(3)—— HTTP控制器
1. laravel 控制器在app/Http/Controllers/ 下,你会看到里面有一个Controller.php ,之后我们创建的控制器都是继承这个总控制器的.创建控制器只需要在这里面添加 ...
- react+laravel与服务端渲染的几点思考
一.前后端完全分离 1.用React.js做MVC中的V,剩下的交给Laravel 2.Laravel用来做API接口开发. 3.好处:实现了前后端开发的分离,从而加快前后端开发效率.另外若是多端的如 ...
- Android 三级联动选择城市+后台服务加载数据库
技术渣,大家将就着看 首先我们需要一个xml数据保存到数据库,这里我从QQ下面找到一个loclist.xml文件 <CountryRegion Name="中国" Code= ...
- ArcGIS API for Silverlight 调用GP服务加载等值线图层
原文:ArcGIS API for Silverlight 调用GP服务加载等值线图层 第二篇.Silverlight客户端调用GP服务 利用ArcGIS API for Silverlight实现G ...
- 怎么使用 Laravel 的服务容器来优化读写数据库中的 options关键词
其中我们可以最方便地利用的一个特性就是 Laravel 的服务容器了.在这里我不多赘述 Service Container 是个啥,想了解的可以自行搜索.不想了解的就只要大致知道它是个可以 绑定/取出 ...
- 为什么说要搞定微服务架构,先搞定RPC框架?
今天开始聊一些微服务的实践,第一块,RPC框架的原理及实践,为什么说要搞定微服务架构,先搞定RPC框架呢? 一.需求缘起 服务化的一个好处就是,不限定服务的提供方使用什么技术选型,能够实现大公司跨团队 ...
- spring cloud: zuul(四): 正则表达式匹配其他微服务(给其他微服务加版本号)
spring cloud: zuul(四): 正则表达式匹配其他微服务(给其他微服务加版本号) 比如我原来有,spring-boot-user微服务,后台进行迭代更新,另外其了一个微服务: sprin ...
随机推荐
- debug.keystore文件不存在解决办法
重装系统之后,丢失了debug.keystore,找了很久都没有找到,根据网上所讲的只要重新运行一个android项目;就会在avd中生成一个新的debug.keystroe,此法也没解决,索性直接重 ...
- 关于T-SQL重编译那点事,WITH RECOMPILE和OPTION(RECOMPILE)区别仅仅是存储过程级重编译和SQL语句级重编译吗
本文出处:http://www.cnblogs.com/wy123/p/6262800.html 在考虑重编译T-SQL(或者存储过程)的时候,有两种方式可以实现强制重编译(前提是忽略导致重编译的 ...
- java获得项目绝对路径
在jsp和class文件中调用的相对路径不同. 在jsp里,根目录是WebRoot 在class文件中,根目录是WebRoot/WEB-INF/classes 当然你也可以用System.getPro ...
- 通过strace 监控 fdatasync
通过strace 监控 Redis AOF文件的系统调用 Redis中主要的AOF设置 「appendonly yes」 开启每次更新操作后进行日志记录 「appendfilename appendo ...
- VC printf输出彩色字体
在VC下使用SetConsoleTextAttribute()函数可以改变当前控制台的前景色和背景色,从而达到输出彩色字体的效果. 使用的方法也很简单,具体代码如下: #include <win ...
- HDU2017JAVA
字符串统计 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submi ...
- memcached 安装
安装 memcached 需要 三部1,下载 memcached 放到php目录将php_memcached.dll 放到php的ext 目录 2,打开管理员命令,将memcached 拖拉到命令中, ...
- 19个非常有用的Javascript类库
Blackbird是一款非常酷的JavaScript调试工具,带有一个漂亮的界面显示和过滤调试信息. http://www.gscottolson.com/blackbirdjs/ Treesaver ...
- ios>android>javaee
外面就业很多年的认识给出来我这个结论,请问各位有什么看法?
- CCProcxy代理服务器的配置使用
资源准备及设置 1.资源:http://www.ccproxy.com/ 下载官方正式版本. 2.解压之后打开,界面如下: 打开“设置”,如图做设置,点击确定: 打开“账号”: 点击新建,在ip地址/ ...