前言
我们会使用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 配置文件加密方式,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对小牛知识库网站的支持!
本文向大家介绍spring配置文件加密方法示例,包括了spring配置文件加密方法示例的使用技巧和注意事项,需要的朋友参考一下 Spring的配置文件是用于指导Spring工厂进行Bean生成、依赖关系注入及Bean示例分发的”图纸”,他是一个或多个标砖的XML文档,J2EE程序员必须学会灵活应用这份”图纸”,准确的表达自己的”生成意图”。Spring配置文件是一个或多个标准的XML文档,appl
问题内容: 我有一个程序从配置文件中读取服务器信息,并希望对该配置中的密码进行加密,该密码可由我的程序读取并解密。 要求: 加密要存储在文件中的纯文本密码 解密从我的程序从文件读取的加密密码 关于我将如何做到这一点的任何建议?我当时在考虑编写自己的算法,但我认为这绝对是不安全的。 问题答案: 一种简单的方法是在Java中使用基于密码的加密。这使你可以使用密码来加密和解密文本。 这基本上意味着初始化
本文向大家介绍C#为配置文件加密的实现方法,包括了C#为配置文件加密的实现方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了C#为配置文件加密的实现方法,分享给大家供大家参考。具体实现方法如下: 一般来说,在web.config或app.config文件里我们经常会存储一些敏感信息,比如connectionStrings或者appSettings,比如像下面的文件。 一、加密文件可以使用
问题内容: 我们正忙于为客户开发Java Web服务。有两种可能的选择: 将加密的用户名/密码存储在Web服务客户端上。从配置读取。客户端上的文件,解密并发送。 将加密的用户名/密码存储在Web服务器上。从配置读取。Web服务器上的文件,解密并在Web服务中使用。 Web服务使用用户名/密码来访问第三方应用程序。 客户端已经具有提供此功能的类,但是此方法涉及以明文方式发送用户名/密码(尽管在内联网
本文向大家介绍Spring Cloud Config配置文件使用对称加密的方法,包括了Spring Cloud Config配置文件使用对称加密的方法的使用技巧和注意事项,需要的朋友参考一下 补充 使用Spring Cloud Config加密功能需要下载JCE扩展,用于生成无限长度的密文。链接:http://www.oracle.com/technetwork/java/javase/downl
你知道 Puppet 能做微创手术吗? 通常,我们不希望将整个配置文件交由 Puppet 管理而仅仅是在配置文件中添加某项设置 — 尤其是如果该文件是由别人管理,我们不能覆盖它的情况。 一种简单而有用的方法是,如果配置文件中不存在指定的行就添加这行配置。例如: 添加一个内核模块名到配置文件 /etc/modules 告知内核在启动时加载此模块。 你可以使用一个 exec 资源达成此任务。下面的例子