Spring cloud config 配置文件加密方式

 更新时间:2018年05月11日 14:27:01   作者:雪_糕  
这篇文章给大家介绍了Spring cloud config 配置文件加密方式,非常不错,具有一定的参考借鉴价值,感兴趣的朋友跟随脚步之家小编一起学习吧

前言

我们会使用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 配置文件加密方式,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

相关文章

  • Json 自定义使用函数的简单实例

    Json 自定义使用函数的简单实例

    下面小编就为大家带来一篇Json 自定义使用函数的简单实例。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-10-10
  • java swing中实现拖拽功能示例

    java swing中实现拖拽功能示例

    这篇文章主要介绍了java swing中实现拖拽功能示例,需要的朋友可以参考下
    2014-04-04
  • Java 生成任意长度的验证码过程解析

    Java 生成任意长度的验证码过程解析

    这篇文章主要介绍了Java 生成任意长度的验证码过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-10-10
  • += 和 ++ 操作符区别简单介绍

    += 和 ++ 操作符区别简单介绍

    这篇文章主要介绍了+= 和 ++ 操作符区别简单介绍的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2016-09-09
  • Eclipse在线安装hibernate插件

    Eclipse在线安装hibernate插件

    这篇文章主要介绍了Eclipse在线安装hibernate插件,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-04-04
  • java新特性之for循环最全的用法总结

    java新特性之for循环最全的用法总结

    下面小编就为大家带来一篇java新特性之for循环最全的用法总结。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-12-12
  • Elasticsearch聚合查询概念及字段类型示例

    Elasticsearch聚合查询概念及字段类型示例

    这篇文章主要为大家介绍了Elasticsearch聚合查询概念及字段类型示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-08-08
  • Java 中的 xx ≠ null 是什么新语法

    Java 中的 xx ≠ null 是什么新语法

    Java中null是一个关键字,用来标识一个不确定的对象。因此可以将null赋给引用类型变量,但不可以将null赋给基本类型变量。本文给大家分享Java 中的 xx ≠ null 是什么新语法,感兴趣的朋友一起看看吧
    2021-06-06
  • springboot如何引入外部yml配置文件

    springboot如何引入外部yml配置文件

    这篇文章主要介绍了springboot如何引入外部yml配置文件,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-08-08
  • Mybatis通过Mapper代理连接数据库的方法

    Mybatis通过Mapper代理连接数据库的方法

    这篇文章主要介绍了Mybatis通过Mapper代理连接数据库的方法,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-11-11

最新评论