補充します
Spring Cloud Confignecryptionを使用するには、無限の長さの暗号文を生成するためにJCE拡張機能をダウンロードする必要があります。リンク:http://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html
ダウンロードした後、取得した2つのJARパッケージを$ java_home/jre/lib/securityディレクトリに解凍し、コピーします。
導入
実際のプロジェクト環境では、構成ファイルにパスワードが盗まれないように、パスワードなどの機密テキストを保存しません。 Spring Cloud Configは、テキストを構成ファイルに保存されているCiphertextにテキストを暗号化する暗号化メソッドを提供します。 Spring Cloud Configは2つの暗号化と復号化方法を提供します。1つは対称暗号化、もう1つは非対称暗号化です。この記事では、まず対称暗号化の使用方法を示します。
対称暗号化の紹介
対称暗号化とは、通信の両当事者が同じキーを使用してテキストを暗号化および復号化することを意味します。 2つの暗号化方法があります。
対称暗号化は比較的簡単な方法です。両当事者が同じキーを持っている限り、テキストの暗号化と復号化を完了することができます。ただし、対称暗号化の欠点は、ソースを認証できないことです。つまり、アリスとボブがコミュニケーションをとっている場合、アリスは暗号化されたテキストをボブに渡すために鍵を使用しますが、イブは真ん中の暗号文を傍受し、イブは暗号文をボブに転送します。
プロジェクトソースコード
Giteeコードクラウド
ConfigServerを構成します
まず、暗号化のキーを設定し、ConfigServerプロジェクトのBootstrap.yml構成ファイルに次の構成項目を追加する必要があります。
暗号化:key:thisismysecretkey
テスト
このキーを使用して、Webクライアントのテスト項目を暗号化します。 Spring Cloud Configは、暗号化および復号化された端子パス、 /暗号化および /復号化を提供します。 configserverを起動してから、端末を使用してテストテキストを暗号化します。
Curl localhost:8888/encrypt -d 12345678
返された結果は(結果は毎回異なります):
94C1027141ADD984447F0BE13CAEBB6B38ED1DCF99811B1A5CD2B874C64407
次に、リモート構成リポジトリで、Web-Client.yml構成を変更し、新しい構成を追加します。
テスト:パスワード: '{Cipher} 94C1027141ADD984447F0BE13CAEBB6B38ED1DCF9811B1A5CD2B874C64407'ここの引用は必要です、そして、{cipher}は、データ項目が暗号文であることを示します。次に、復号化を確認できます。
curl localhost:8888/decrypt -d 94C1027141ADD9844EC47F0BE13CAEBB6B38ED1DCF99811B1A5CD2B874C6407
通常の状況では、12345678文字を取得します。次に、URLを介してWeb-Client.yml構成ファイルにアクセスすると、次の結果が得られます。
{"name": "web-client"、 "profiles":["default"]、 "label":null、 "version": "6B73C56449ACEE907FCF37E50892A3AFDDBF635 "https://gitee.com/zxuqian/spring-cloud-config-remote/web-client.yml"、 "source":{"message": "このメッセージは、リモート構成リポジトリ"、 "Management.endpoints.web.exposure.include": ""*"復号化されたtest.passwordが12345678であることがわかります。
要約します
上記は、エディターが紹介したSpring Cloud Configurationファイルに対称暗号化を使用する方法です。それがあなたに役立つことを願っています。ご質問がある場合は、メッセージを残してください。編集者は時間内に返信します。 wulin.comのウェブサイトへのご支援ありがとうございます!