spring cloud实现配置加密

我们在配置文件中往往都会配置数据库的密码等敏感信息,而这些信息可能只作为项目启动用,并不想直观的透漏给开发人员,于是,配置加密便起了作用。我们目前项目中是spring cloud框架,下面记录下我的配置方法:

Spring Cloud有一个用于本地解密属性值的环境预处理器。
它遵循与配置服务器相同的规则,并且通过encrypt.*使加密具有相同的外部配置。
因此,您可以使用{cipher}*形式的加密值,并且,只要有一个有效的密钥,它们就会在主应用程序上下文获得环境设置之前解密。
要在应用程序中使用加密特性,您需要在类路径中包含Spring Security RSA (Maven协调:“org.springframework.security: Spring - Security - RSA”),并且还需要JVM中完整的JCE扩展。
如果由于“非法密钥大小”而出现异常,并且使用Sun的JDK,则需要安装Java Cryptography Extension (JCE) Unlimited Strength governance Policy Files。详情请参阅以下方式:

  1. 下载JCE,如jdk1.8 https://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html
  2. 将文件解压缩到JDK/jre/lib/security文件夹中,以支持您使用的jre/ JDK x64/x86的任何版本。

步骤

  1. 下载JCE,下载完成后,可以看到在这里插入图片描述,我们需要将这里的两个jar包拷贝到我们的jdk安装目录下,我的是%JAVA_HOME%\jre\lib\security,覆盖该目录下原有的文件。

  2. 配置中心设置密钥对,注意,一定要在bootstrap.yml中,如
    encrypt: key: haoma # 设置对称秘钥

  3. 测试: http://192.168.1.236:8010/encrypt/status,url为配置中心的url,如果出现在这里插入图片描述
    则环境搭建成功。

  4. 获取加密信息在这里插入图片描述

  5. 配置加密信息,一定要以{cipher}+密文配置

datasource: 
  url: jdbc:mysql://192.168.1.236:3306/hm_number?characterEncoding=UTF-8&useSSL=false
  username: tkuser
  password: '{cipher}c25add243f559fb5601a23fdb65bba9aa9efa8602ea9366523271aa811b1382a'

6.测试解密
在这里插入图片描述

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Spring Cloud Gateway中,可以使用AES加密算法进行加密。AES(Advanced Encryption Standard)是一种对称加密算法,它可以对数据进行加密和解密。在网关中,可以使用AES算法对请求和响应的数据进行加密和解密,以保护数据的安全性。 使用AES加密算法需要以下步骤: 1. 生成AES密钥:首先需要生成一个AES密钥,可以使用随机数生成器生成一个密钥。 2. 加密数据:将需要加密的数据使用生成的AES密钥进行加密,可以使用AES算法提供的加密函数进行操作。 3. 解密数据:将加密后的数据使用相同的AES密钥进行解密,可以使用AES算法提供的解密函数进行操作。 在Spring Cloud Gateway中,可以通过自定义过滤器来实现AES加密和解密的功能。可以在请求到达网关时,使用过滤器对请求数据进行加密,然后将加密后的数据发送到后端服务。在响应返回时,再使用过滤器对响应数据进行解密,然后将解密后的数据返回给客户端。 需要注意的是,AES加密算法是对称加密算法,加密和解密使用相同的密钥。因此,在网关和后端服务之间需要共享同一个AES密钥,以确保数据的正确加密和解密。 参考文献: \[1\] 加密验密. https://www.jianshu.com/p/7e6e6b1e7b7e \[2\] spring cloud. https://www.jianshu.com/p/7e6e6b1e7b7e \[3\] 小程序公网访问. https://www.jianshu.com/p/7e6e6b1e7b7e #### 引用[.reference_title] - *1* *2* *3* [spring cloud gateway 实现基于非服务发现的应用报文签名&加密&路由](https://blog.csdn.net/dreamsigel/article/details/106540231)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值