中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

跟我學Spring Cloud(Finchley版)-21-Config-配置屬性加解密

發布時間:2020-07-18 12:43:09 來源:網絡 閱讀:290 作者:lilizhou2008 欄目:編程語言

前文都是將配置明文存儲在Git倉庫中,但在實際項目中,敏感的配置屬性(例如數據庫賬號、密碼等),都應加密存儲,從而提高安全性。

Config Server為配置內容的加密與解密提供了支持。

安裝JCE

  • Java 6 JCE地址: https://www.oracle.com/technetwork/java/javase/downloads/jce-6-download-429243.html
  • Java 7 JCE地址: http://www.oracle.com/technetwork/java/javase/downloads/jce-7-download-432124.html
  • Java 8 JCE的地址: http://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html

加解密端點

  • 加密:curl $CONFIG_URL/encrypt -d 想要加密的內容
  • 解密:curl $CONFIG_URL/decrypt -d 想要解密的密文

對稱加密

  • Config Server的bootstrap.yml中添加:

    encrypt:
    key: foo  # 設置對稱密鑰

密文存儲

  • 以yaml格式存儲:

    spring:
    datasource:
      username: dbuser
      password: '{cipher}851a6effab6619f43157a714061f4602be0131b73b56b0451a7e268c880daea3'
  • 以properties格式存儲:

    spring.datasource.username=dbuser
    spring.datasource.password={cipher}851a6effab6619f43157a714061f4602be0131b73b56b0451a7e268c880daea3

測試

  • 輸入命令

    curl http://localhost:8080/encrypt -d mysecret

    返回851a6effab6619f43157a714061f4602be0131b73b56b0451a7e268c880daea3 。說明mysecret 被加密了。

  • 輸入命令

    curl http://localhost:8080/decrypt -d 851a6effab6619f43157a714061f4602be0131b73b56b0451a7e268c880daea3

    可返回mysecret ,說明能夠正常解密。

非對稱加密

  • 執行以下命令,并按照提示操作,即可創建一個Key Store。

    keytool -genkeypair -alias mytestkey -keyalg RSA -dname "CN=Web Server,OU=Unit,O=Organization,L=City,S=State,C=US" -keypass changeme -keystore server.jks -storepass letmein
  • 將生成的server.jks文件復制到項目的classpath下。

  • 在bootstrap.yml中添加以下內容。

    encrypt:
    keyStore:
      location: classpath:/server.jks # jks文件的路徑
      password: letmein               # storepass
      alias: mytestkey                # alias
      secret: changeme                # keypass

    這樣,使用命令

    curl http://localhost:8080/encrypt -d mysecret

    嘗試加密時 ,就會得到類似以下的結果。

    AQB38UyNckYzW64rvsaIhy0OV4MUmS7krdHrw+VLUdqXJ4ZVdZL8/ouwSOAYM+6MSjKvzmkaU8Iv2cQ5MWhlZhCrm0f0d2ubc1MH96KBHTix9AroajeTiofPwPoBnWfBo9cC4PU1vD+rcvAvwvdR5q7rYbFc4yut4uJZRzpAXGgf680kAtb6tEtLx7c4/35PEaGXFWd2m8gn21vzWdvhbP6cdC9YlburL0Rq/0H1G+uEX99ZVIWJ0hVn4rplLWPMLUGA2ZVEyVRorIRX/2z5MU7cVPtJ6X1JZDpU4GVz8/3rD5BnbVFTGo6DfBrEzJn58Bzjl6aqo9ca/3j42RHOoQDOHXGqRX/843RbPdvMqTZd0rTOBHTUrVG9E15sCajiLkw=

    相對于對稱加密,非對稱加密的安全性更高,但對稱加密相對方便。讀者可按照需求,自行選擇加密方案。

注意點&坑

encrypt.* 務必存放在bootstrap.* 中,否則加解密特性無法生效!!

配套代碼

對稱加密

  • GitHub:<https://github.com/eacdy/spring-cloud-study/tree/master/2018-Finchley/microservice-config-server-encryption>
  • Gitee:<https://gitee.com/itmuch/spring-cloud-study/tree/master/2018-Finchley/microservice-config-server-encryption>

非對稱加密

  • GitHub:<https://github.com/eacdy/spring-cloud-study/tree/master/2018-Finchley/microservice-config-server-encryption-rsa>
  • Gitee:<https://gitee.com/itmuch/spring-cloud-study/tree/master/2018-Finchley/microservice-config-server-encryption-rsa>

相關文章

  • Config Server——配置內容的加密與解密
  • 跟我學Spring Cloud(Finchley版)-19-配置中心-Spring Cloud Config
  • 跟我學Spring Cloud(Finchley版)-20-Spring Cloud Config-Git倉庫配置詳解
  • 跟我學Spring Cloud(Finchley版)-22-Spring Cloud Config-配置動態刷新
  • 跟我學Spring Cloud(Finchley版)-06-服務注冊與服務發現-Eureka深入

本文首發

http://www.itmuch.com/spring-cloud/finchley-21/

干貨分享

跟我學Spring Cloud(Finchley版)-21-Config-配置屬性加解密

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

高碑店市| 霍州市| 泰州市| 南溪县| 临高县| 安溪县| 正蓝旗| 呼图壁县| 固原市| 蓬莱市| 龙江县| 神木县| 南丹县| 固镇县| 普安县| 奉化市| 永平县| 抚顺市| 佛山市| 安龙县| 拉孜县| 会理县| 平凉市| 丽江市| 德令哈市| 前郭尔| 万荣县| 中超| 兴和县| 屏边| 加查县| 利津县| 横峰县| 咸宁市| 龙南县| 凌海市| 重庆市| 烟台市| 尼木县| 海兴县| 海南省|