配置属性加解密之对称加密

本文介绍了配置文件信息加密的重要性,详细步骤包括JCE的安装,配置服务器的设置,加密和解密操作演示,以及如何在微服务配置中存储和解密加密数据。通过示例展示了Spring配置客户端自动解密过程。
摘要由CSDN通过智能技术生成

前言

首先我们要知道加密的是什么,加密的是配置文件的信息,上一篇文章我们都是使用明文的,但是如果是share的一些东西,比如说是数据库就是十分敏感了,那么再使用加密之前我们还需要一个工具JCE,download JDK8

JCE安装

  1. zip解压(包含local_policy.jar 加密策略文件/README.txt/US_export_policy.jar 解密策略文件)
  2. 打开readme,其中有Installation
  3. 替换JDK本身的策略文件即可,替换路径 C:\Program Files\Java\jdk1.8.0_92\jre\lib\security 
  4. microserver-config-server中application.yml 添加配置内容encrypt.key=foor
    server:
      port: 8080
    
    spring:
      cloud:
        config:
          server:
            git:
              uri: https://gitee.com/xuhaiyancoco/config-repo-51cto-video
    encrypt:
      key: foor

     

  5. microserver-config-server启动
  6. 加密操作<cmd ——>curl -X POST http://localhost:8080/encrypt -d foobar——>errorMsg:{"description":"The encryption algorithm is not strong enough","status":"INVALID"}——>解决办法——>最终加密成功!>
  7. 解密操作<cmd ——>curl -X POST http://localhost:8080/decrypt  -d 643cf2e6190ec369fd65cbfbe289127ef1d84ecb766dcd4398db7560c47d18c9——>resultMsg:fooba——>最终解密成功!>
  • 如何存储和解密

  1. 官方demo

spring:
  datasource:
    username: dbuser
    password: '{cipher}FKSAJDFGYOS8F7GLHAKERGFHLSAJ'

  1. 1 复制microserver-config-server做microserver-config-server-encrygt项目,创建文件如图所示,上传到Git上面:

profile: '{cipher}643cf2e6190ec369fd65cbfbe289127ef1d84ecb766dcd4398db7560c47d18c9'

内容为上述测试的加密和+'{cipher}

  1. 2 然后我们去config-repo-51cto-video将要访问的配置内容文件名为:foobar-production.yml,copy到浏览器上,当然访问规则记得加上去http://localhost:8080/master/foorbar-production.yml访问结果如下:

总结:存储是利用'{cipher}解密是config server自动解密,也就是说config client拿到的就是解密的

问:http://localhost:8080/master/foobar-test.properties是解密还是未解密呢?

答:是没有的

正确做法,修改foobar-test.properties,去掉‘’

再次访问结果如下,自动已经解密了 <yml加‘’号,properties是当成字符串,不解密了>

 就如文档所说:

Encrypted values in a .properties file must not be wrapped in quotes, otherwise the value will not be decrypted:

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值