特記事項:私はブログのセクション参照、他のブログのネットワークを持っていますが、上書きされていると私は個人的に検証しました。ブログがエラーを発見し、他の人々を誤解しないように前方に入れてください、ありがとうございました!転載へようこそますが、記事のソースを示すために覚えている:
http://www.cnblogs.com/mao2080/
問題の1説明
SpringCloud-CONFIGはSpringCloud-CONFIGを使用して、Gitのリポジトリ暗号化機密データを結合はダウンGitリポジトリー後に暗号化されたプロファイル復号、マイクロサービスプロファイルは、復号化後に得られます。
機密データの処理に使用されるボリュームを達成するために行くためのJava URLによる書き込みアクセスの場合には、カール統一コマンドであるが、効率が低すぎるHTTPClientの方法(この記事では、単純なデモ、バッチおよびパディングないの書き込み)
curlコマンドを使用して暗号化と復号化
-u 'A81n360vrO':-H "text / plainのContent-Typeの":カール'Rp23JULSF5' http://192.168.0.110:7001/encrypt -d '123456' -Hカール"のContent-Type:text / plainの" - U 'A81n360vrO': 'Rp23JULSF5' http://192.168.0.110:7001/decrypt -d 'AQBqzHRjh4absrQdDckiymqcGrsZB4d30tk47ZKJmr6WjA8d5bjuZz2iJE / Qc46umseuZ23tfzbwKq / hYWzFJyKBEjaV8HNYisQ4ljIYP6mcAZMphLoGnrMakW8r1cs5XxQ8QYRjOD0M + uDOPU0aZ1wo19X9VJ2m0nPdFclrUY4H522M0XQ ='
図2に示すように、操作方法
図1において、引用したPOM
<依存> <groupIdを> com.squareup.okhttp3 </ groupIdを> <たartifactId> okhttp </たartifactId> <バージョン> 3.14.2 </バージョン> </依存関係>
図2に示すように、コア・コード
*インポートokhttp3 ;. パブリッククラスのテスト{ 公共の静的な無効メイン(文字列[] args)は例外{スロー 文字列のユーザ名は=「A81n360vrOを」; //サービスセンターも考慮配置 //サービスセンターは、さらにパスワードを配置し、文字列のパスワード=「Rp23JULSF5」を initClient(ユーザー名、パスワード); 文字列のPWD = "123456";パスワードを暗号化する// するSystem.out.println( "暗号化パスワードの前に:" + PWD); 文字列= encryptPwd暗号化(PWD); System.out.printlnは( "暗号化されたパスワード:" + encryptPwd); 文字列= decryptPwd解読(encryptPwd) のSystem.out.println( "復号化されたパスワード:" + decryptPwd); } プライベートOkHttpClient HTTP_Client = NULL静的。 / ** *初期化のHttpClient * @paramのuserNameに * @paramパスワード * / プライベート静的な無効initClient(文字列のユーザ名、文字列のパスワード){ HTTP_CLIENT =新しいOkHttpClient.Builder()オーセンティケータ((ルート、応答) - > {。 文字列の資格= Credentials.basic(ユーザ名、パスワード); リターンresponse.request()newBuilder()ヘッダ( "認可"、資格).build();。。 。})(ビルド) } / ** *通过HTTP方式对数据进行解密 * @param値 * @return *例外@throws * / プライベート静的文字列の復号化(文字列値){例外をスロー 文字列のURL =「http://192.168.0.110:7001/ 「解読; //配置中心解密地址 。。要求要求=新しいRequest.Builder()URL(URL).post(RequestBody.create(MediaType.parse( "text / plainの")、value.getBytes()))の構築(); コールコール= HTTP_CLIENT.newCall(リクエスト)。 応答レスポンス= call.execute()。 ResponseBody responseBody = response.body()。 )(responseBody.stringを返します。 } / ** *通过HTTP方式对数据进行加密 * @param値 * @return *例外@throws * / プライベート静的文字列の暗号化(文字列値){例外をスロー 文字列のURL =「http://192.168.0.110:7001/ 「暗号化; //配置中心加密地址 。。要求要求=新しいRequest.Builder()URL(URL).post(RequestBody.create(MediaType.parse( "text / plainの")、value.getBytes()))の構築(); コールコール= HTTP_CLIENT.newCall(リクエスト)。 応答レスポンス= call.execute()。 ResponseBody responseBody = response.body()。 )(responseBody.stringを返します。 } }
3、営業成績
暗号化パスワードの前に:123456 暗号化されたパスワード:AQBqzHRjh4absrQdDckiymqcGrsZB4d30tk47ZKJmr6WjA8d5bjuZz2iJE / Qc46umseuZ23tfzbwKq / hYWzFJyKBEjaV8HNYisQ4ljIYB5ccGt7UnskSDMZrzMnk9 + WJjCYxA / rgsELGACWDHGE + Cej4elP1zgsRk21UpM4FdURof8d7Wp2vrLyCgW4hij8Uq0XI1hsRO1MVSzSLl2sLAkhv2ULym9rbDtxNmFKSRX30UZjLR2zVvDi7PNVNHRQ + ZyFlTPfm834J / 8aiDoVEzXRudjAOq7imbQVqha7g53JxHcFWjc2TWbVLP6mcAZMphLoGnrMakW8r1cs5XxQ8QYRjOD0M + uDOPU0aZ1wo19X9VJ2m0nPdFclrUY4H522M0XQ = 復号化されたパスワード:123456