Spring cloud config 配置文件加密方式

作者:雪_糕 时间:2023-01-11 13:48:01 

前言

我们会使用git来保存我们项目的配置文件,但是文件中总有一些敏感数据,对于这些敏感数据我们通常需要给它加密,加密通常有两种加密方式,一种是对称加密,一种是非对称加密,对称加密简单方便,但是安全性没有非对称加密高,非对称加密需要生成证书,安全性比较高。但是请记住没有绝对的安全。

配置环境

java8 jce

config server 的加密解密需要依赖与java Cryptography Extension (jce)

安装方式:可以参考里面的README,其实也很简单:把jdk下面 /jre/lib/security 目录下面的两个jar替换了。

Config Server 配置

对称加密配置测试

在application.yml 中配置

encrypt:
    key:'***这里写密钥***'

测试 post

加密:


curl http://localhsot:8080/enrypt -d mysercet

结果会出来一长串 fdasfa2341sdfa134214….

解密:


curl http://localhost:8080/decrypt -d fdasfa2341sdfa134214….

结果会出来 mysercet

可以使用postman测试

非对称加密测试

需要先生成证书

cmd下执行命令


keytool -genkeypair -alias mytestkey -keyalg RSA -dname "CN=Web Server,OU=Unit,O=Organization,L=City,S=State,C=US" -keypass changeme -keystroe server.jks -storepass letmein1

将server.jks 文件复制到项目下的classpath

config server 配置

在 applicaction.yml中配置


encrypt:
key-store:
location: server.jks
password: letmein
alias: mytestkey
secret: changeme

测试 post

加密:


curl http://localhsot:8080/enrypt -d mysercet

结果会出来一长串 fdasfa2341sdfa1,34214fdafd2341=….

解密:


curl http://localhost:8080/decrypt -d fdasfa2341sdfa1,34214fdafd2341=….

结果会出来 mysercet

可以使用postman测试

存储加密内容

使用{cipher}密文的形式存储


#spring.datasource.password={cipher}3b6e65af8c10d2766dba099a590496a18cfd816ef9190c983bb56249595ae3f0
spring.datasource.password={cipher}AQCActlsAycDFYRsGHzZ8Jw2S6GO9oeqJSCcm//HenrqiuO7zSo3/vg9BeXL8xwiyIXtKcp2JN8hnrM4NTyyJDIjxhcCbJMjuGrrFJ2FdO5oJWmksymkP5EOXE6MjgxVqHh/tc+06TMBQj2xqEcfCO3jBDPxcR88Ci+VXe63xDIVgvAV9IYmCxlfXOCH31bBlK7j5FXJ8pPLUKgXwaDGzaA5QfqMCGduOfC0AQ+iA0QEW7SdDnwChLNwCHEBfQceWAE7qt6zasiRFZeZt+waOp8rI1u+4CYcTjnV1iSdXwN5j1lhcsoiIpViNx8kbsxhcmpCzdg3bGrS1e/Pzq8CjHmV7IRRS9BfgR6K7wuyjue4SO2ZUtMbZAE5V2NHb3XsqeY=

总结

以上所述是小编给大家介绍的Spring cloud config 配置文件加密方式网站的支持!

来源:https://blog.csdn.net/u014792352/article/details/73163714

标签:spring,cloud,config,配置文件
0
投稿

猜你喜欢

  • 基于selenium-java封装chrome、firefox、phantomjs实现爬虫

    2022-04-07 19:04:28
  • C#遍历指定目录下所有文件的方法

    2021-08-29 05:52:44
  • Android WebP 图片压缩与传输

    2022-05-30 16:18:16
  • java多线程-同步块实例讲解

    2022-06-21 02:10:41
  • Java Socket实现传输压缩对象的方法示例

    2022-12-18 06:52:30
  • C#机器入门学习之判断日报是否合格详解

    2023-03-24 01:55:08
  • Android开发中Activity的生命周期及加载模式详解

    2021-07-28 02:33:44
  • Android点击按钮返回顶部实现代码

    2023-04-10 19:06:40
  • Android程序开发中单选按钮(RadioGroup)的使用详解

    2023-09-18 03:43:39
  • 详解JS与APP原生控件交互

    2022-11-21 21:28:15
  • 微信小程序与AspNetCore SignalR聊天实例代码

    2022-12-21 01:29:06
  • springboot+thymeleaf+druid+mybatis 多模块实现用户登录功能

    2022-09-17 21:36:41
  • Android自定义RadioGroupX实现多行多列布局

    2023-03-27 17:19:47
  • Java中PriorityQueue实现最小堆和最大堆的用法

    2022-03-25 14:32:18
  • Java 中的弱引用是什么

    2021-08-21 08:10:46
  • C# String常用函数的使用详解

    2022-04-05 05:29:02
  • Android编程基于距离传感器控制手机屏幕熄灭的方法详解

    2022-02-20 10:49:05
  • C#中winform实现自动触发鼠标、键盘事件的方法

    2022-02-23 22:50:58
  • C++实现企业职工工资管理系统

    2023-11-02 17:34:34
  • C#读取静态类常量属性和值的实例讲解

    2022-04-15 16:37:34
  • asp之家 软件编程 m.aspxhome.com