前文都是將配置明文存儲(chǔ)在Git倉(cāng)庫(kù)中,但在實(shí)際項(xiàng)目中,敏感的配置屬性(例如數(shù)據(jù)庫(kù)賬號(hào)、密碼等),都應(yīng)加密存儲(chǔ),從而提高安全性。
成都創(chuàng)新互聯(lián)公司專注于企業(yè)營(yíng)銷型網(wǎng)站、網(wǎng)站重做改版、承留網(wǎng)站定制設(shè)計(jì)、自適應(yīng)品牌網(wǎng)站建設(shè)、H5場(chǎng)景定制、成都做商城網(wǎng)站、集團(tuán)公司官網(wǎng)建設(shè)、成都外貿(mào)網(wǎng)站建設(shè)、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁(yè)設(shè)計(jì)等建站業(yè)務(wù),價(jià)格優(yōu)惠性價(jià)比高,為承留等各大城市提供網(wǎng)站開(kāi)發(fā)制作服務(wù)。
Config Server為配置內(nèi)容的加密與解密提供了支持。
curl $CONFIG_URL/encrypt -d 想要加密的內(nèi)容
curl $CONFIG_URL/decrypt -d 想要解密的密文
Config Server的bootstrap.yml中添加:
encrypt:
key: foo # 設(shè)置對(duì)稱密鑰
以yaml格式存儲(chǔ):
spring:
datasource:
username: dbuser
password: '{cipher}851a6effab6619f43157a714061f4602be0131b73b56b0451a7e268c880daea3'
以properties格式存儲(chǔ):
spring.datasource.username=dbuser
spring.datasource.password={cipher}851a6effab6619f43157a714061f4602be0131b73b56b0451a7e268c880daea3
輸入命令
curl http://localhost:8080/encrypt -d mysecret
返回851a6effab6619f43157a714061f4602be0131b73b56b0451a7e268c880daea3
。說(shuō)明mysecret
被加密了。
輸入命令
curl http://localhost:8080/decrypt -d 851a6effab6619f43157a714061f4602be0131b73b56b0451a7e268c880daea3
可返回mysecret
,說(shuō)明能夠正常解密。
執(zhí)行以下命令,并按照提示操作,即可創(chuàng)建一個(gè)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文件復(fù)制到項(xiàng)目的classpath下。
在bootstrap.yml中添加以下內(nèi)容。
encrypt:
keyStore:
location: classpath:/server.jks # jks文件的路徑
password: letmein # storepass
alias: mytestkey # alias
secret: changeme # keypass
這樣,使用命令
curl http://localhost:8080/encrypt -d mysecret
嘗試加密時(shí) ,就會(huì)得到類似以下的結(jié)果。
AQB38UyNckYzW64rvsaIhy0OV4MUmS7krdHrw+VLUdqXJ4ZVdZL8/ouwSOAYM+6MSjKvzmkaU8Iv2cQ5MWhlZhCrm0f0d2ubc1MH96KBHTix9AroajeTiofPwPoBnWfBo9cC4PU1vD+rcvAvwvdR5q7rYbFc4yut4uJZRzpAXGgf680kAtb6tEtLx7c4/35PEaGXFWd2m8gn21vzWdvhbP6cdC9YlburL0Rq/0H1G+uEX99ZVIWJ0hVn4rplLWPMLUGA2ZVEyVRorIRX/2z5MU7cVPtJ6X1JZDpU4GVz8/3rD5BnbVFTGo6DfBrEzJn58Bzjl6aqo9ca/3j42RHOoQDOHXGqRX/843RbPdvMqTZd0rTOBHTUrVG9E15sCajiLkw=
相對(duì)于對(duì)稱加密,非對(duì)稱加密的安全性更高,但對(duì)稱加密相對(duì)方便。讀者可按照需求,自行選擇加密方案。
encrypt.*
務(wù)必存放在bootstrap.*
中,否則加解密特性無(wú)法生效?。?/p>
對(duì)稱加密
非對(duì)稱加密
http://www.itmuch.com/spring-cloud/finchley-21/
標(biāo)題名稱:跟我學(xué)SpringCloud(Finchley版)-21-Config-配置屬性加解密
當(dāng)前網(wǎng)址:http://www.rwnh.cn/article8/jgjjop.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供自適應(yīng)網(wǎng)站、小程序開(kāi)發(fā)、網(wǎng)站建設(shè)、外貿(mào)建站、網(wǎng)站設(shè)計(jì)、網(wǎng)站改版
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)