6.3:配置中心内容加密解密

一. 前言

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

  2. 环境配置

    1. java8 jce

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

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


二. Config Server 配置

  • 对称加密

  1. 在application.yml中配置

encrypt: 

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

  1. 测试post

    1. 加密:

      1. 命令:curl http://localhost:8080/encrypt -d mysercet

      2. 结果:fdasfa2341sdfa134214….

    2. 解密:

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

      2. 结果:mysercet

  • 非对称加密

  1. 生成加密证书,将生成的加密证书复制到项目的classpath

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 letmein

  1. 在application.yml中配置

encrypt:

  key-store:

    location: server.jks

    password: letmein

    alias: mytestkey

    secret: changeme

  1. 测试post

    1. 加密:

      1. 命令:curl http://localhost:8080/encrypt -d mysercet

      2. 结果:fdasfa2341sdfa134214….

    2. 解密:

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

      2. 结果:mysercet

  • 存储加密内容

#spring.datasource.password={cipher}3b6e65af8c10d2766dba099a590496a18cfd816ef9190c983bb56249595ae3f0

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

发布了96 篇原创文章 · 获赞 26 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/qq919694688/article/details/103199571