基于安全考虑,我们php项目配置文件中密码应该是加密的,laravel中也提供了OpenSSL 的 AES-256-CBC 来进行加密

但是如果我们项目配置的是其他加密方式,且希望以最少的改动实现读取加密配置并解密,如何修改代码呢?

首先我们需要了解laravel(我的laravel是5.5)的配置加载流程。

laravel 配置文件加载由配置类 /Illuminate/Foundation/Bootstrap/LoadConfiguration.php 的bootstrap 方法完成。

    public function bootstrap(Application $app){$items = [];//首先查看是否有配置缓存 如果有生成的配置缓存 会存在文件 /bootstrap/cache/config.phpif (file_exists($cached = $app->getCachedConfigPath())) {$items = require $cached;$loadedFromCache = true;}$app->instance('config', $config = new Repository($items));//如果没有缓存则读取/config目录下所有的配置文件if (! isset($loadedFromCache)) {$this->loadConfigurationFiles($app, $config);}//此处的$config就是读取到和加密配置$app->detectEnvironment(function () use ($config) {return $config->get('app.env', 'production');});    //这个位置一会写入解密处理逻辑date_default_timezone_set($config->get('app.timezone', 'UTC'));mb_internal_encoding('UTF-8');}

此时我在.env配置加密的密码

bootstrap()方法读取到的$config mysql 密码是加密的。

在下图位置加入你自己的解密逻辑,不过需要提前引入自己的解密类(PHP7.2+ 的mcrypt扩展需要自己手动安装哦 )。

这时我们再打印配置看看。

ok解密成功。页面也能正常访问。

在laravel 引入自己的类有疑问,可参考 laravel 引入第三方库

转载于:https://www.cnblogs.com/kala00k/p/11144220.html

laravel配置加解密相关推荐

  1. android xml加密解密,华为配置加解密工具

    华为配置加解密工具是一款实用的加密解密软件,支持XML加解密,支持CFG加解密,支持密文解密等等,加密强度高非常安全,解密快不影响源文件,可以有效保障隐私重要文件的安全,有需要的朋友欢迎使用. 常见问 ...

  2. 聊一聊.NET Core结合Nacos实现配置加解密

    背景 当我们把应用的配置都放到配置中心后,很多人会想到这样一个问题,配置里面有敏感的信息要怎么处理呢? 信息既然敏感的话,那么加个密就好了嘛,相信大部分人的第一感觉都是这个,确实这个是最简单也是最合适 ...

  3. Apollo配置加解密-基于Apollo—client的封装支持配置动态解密的巧思与探索

    随着公司业务线不断壮大和发展,项目种类不断增多,对于配置的统一管理和监控以及支持动态发布等一些特性变成越来越重要的事情.所以需要引入配置中心进行与公司业务流程的适配.方向选型主要是Nacos和Apol ...

  4. SpringBoot使用jasypt加解密密码

    在我们的服务中不可避免的需要使用到一些秘钥(数据库.redis等):使用过SpringBoot配置文件的朋友都知道,资源文件中的内容通常情况下是明文显示,安全性就比较低一些.打开application ...

  5. jasypt 加解密的各个版本支持,看这一篇文章就够了

    文章目录 一.场景描述 二.解决方案 三.实践操作 四.测试用例 一.场景描述   在项目开发过程中,我们往往可以看到许多项目的配置文件中可以看到各种明文密码的情况,比如:数据库密码.Redis 连接 ...

  6. 使用拦截器进行数据加解密

    文章目录 使用拦截器进行数据加解密 1. 加解密工具 3. 加解密字段注解 3.1 加密注解 3.2 解密注解 4. 封装加解密工具 5. 拦截器 6. 不同框架配置说明 6.1 springboot ...

  7. Spring Cloud Config配置文件加解密

    Spring Cloud Config配置文件加解密 坑爹的问题 > curl http://localhost:8888/encrypt -d 123{"description&qu ...

  8. spring、spring-boot配置文件属性内容加解密

    实际项目开发过程中,我们的应用程序都有很多的配置文件(例如properties或者yml文件等),我们时常会遇到需要对配置文件敏感字段的参数内容进行加密处理(比如数据库连接密码.与第三方的通信密钥等) ...

  9. Ubuntu18 + laravel + JavaBridge + 招行国密加解密

    一.Java 环境安装 1.1直接输入java 根据提示进行安装 sudo apt install openjdk-8-jre-headless ps:踩过的坑:根据其他教程下载java环境包进行安装 ...

最新文章

  1. JVM运行时数据区和各个区域的作用
  2. kubelet配置cni插件_Kubernetes CNI网络插件
  3. C++11新特性之std::bind()
  4. 使用ISAPI_Rewrite3规范化目录语法
  5. 数据需求有多野?“三连问”帮你处理得明明白白
  6. JAVA压缩、解压,使用Apache Common Compress包下载链接
  7. 1月16日新经济智库大会聚焦数字经济,议程、直播全收藏
  8. 超越QQ Mail文件中转站---大文件上传设计思路和实践 原创 王泽宾
  9. Python图像匹配
  10. 播布客里小布老师的所有视频收集
  11. numpy的随机抽样
  12. 忘记vmware虚拟机系统登入密码如何破解,破解vmware登录密码。
  13. 幅频特性曲线protues_频率响应,幅频特性,增益与相位裕量,波特图
  14. 【随笔记】Deepin20 Linux 下安装编译NGINX
  15. C++Primer 第8章IO流
  16. 【JAVA】对接苹果授权登录流程
  17. 计算机一级讲义,2017计算机一级MSoffice复习讲义
  18. Android 调起系统相机拍照
  19. 阿里安筱鹏:一文讲透数字化转型的本质!
  20. Mock测试详细介绍及使用

热门文章

  1. htaccess 是什么
  2. 买二手房已经过户等待银行放款,应该没有变数了吧?
  3. 怎样让一个心浮气躁的孩子静下心学习?
  4. 一种人是成功为了赚钱,一种人是赚钱为了成功
  5. 如何给一家公司做定性研究?
  6. 做实体行业现在难吗?
  7. SQL varchar数据类型深入探讨
  8. 适合初学者的sql_适用于初学者SQL多重连接示例
  9. sql查询初学者指南_面向初学者SQL Server查询执行计划–聚集索引运算符
  10. 【BZOJ5457】城市(线段树合并)