Wieder auffüllen
Um die Spring Cloud -Konfiguration zu verwenden, muss die JCE -Erweiterung heruntergeladen werden, um Chiffretexte von unendlichen Längen zu generieren. Link: http://www.oracle.com/technetwork/java/javase/downloads/jce8-Download-213166.html
Nach dem Herunterladen die beiden JAR -Pakete in das $ java_home/jre/lib/security -Verzeichnis entpacken und kopieren.
Einführung
In einer realen Projektumgebung werden wir keinen vertraulichen Text wie Passwörter in der Konfigurationsdatei speichern, um zu verhindern, dass sie gestohlen werden. Die Spring Cloud -Konfiguration bietet Verschlüsselungsmethoden zum Verschlüsseln von Klartext -Text in Ciphertext, die in Konfigurationsdateien gespeichert sind. Die Federwolkenkonfiguration bietet zwei Verschlüsselungs- und Entschlüsselungsmethoden, eine ist symmetrische Verschlüsselung und die andere ist eine asymmetrische Verschlüsselung. In diesem Artikel wird zunächst angezeigt, wie die symmetrische Verschlüsselung verwendet wird.
Einführung in die symmetrische Verschlüsselung
Die symmetrische Verschlüsselung bedeutet, dass beide Parteien der Kommunikation den gleichen Schlüssel verwenden, um den Text zu verschlüsseln und zu entschlüsseln. Es hat zwei Verschlüsselungsmethoden:
Die symmetrische Verschlüsselung ist relativ einfach. Solange beide Parteien den gleichen Schlüssel haben, können sie die Verschlüsselung und Entschlüsselung des Textes abschließen. Der Nachteil der symmetrischen Verschlüsselung besteht jedoch darin, dass sie die Quelle nicht authentifizieren kann. Das heißt, wenn Alice und Bob kommunizieren, verwendet Alice den Schlüssel, um den verschlüsselten Text an Bob zu übergeben, aber Eva fängt den Chiffretext in der Mitte ab und leitet dann den Chiffretentext an Bob weiter, wodurch Bob fälschlicherweise der Meinung ist, dass Eve Alice ist, was Datenverlust verursacht.
Projektquellcode
Gitee Code Cloud
Konfigurieren Sie ConfigServer
Zunächst müssen wir einen Schlüssel für die Verschlüsselung einrichten und die folgenden Konfigurationselemente zur Konfigurationsdatei von Bootstrap.yml in unserem ConfigServer -Projekt hinzufügen:
Verschlüsselung: Schlüssel: thisismysecretkey
prüfen
Wir verwenden diesen Schlüssel, um ein Testelement unseres Web-Client zu verschlüsseln. Die Feder -Cloud -Konfiguration bietet verschlüsselte und entschlüsselte Terminalpfade, /verschlüsselt und /entschlüsselt. Start ConfigServer und dann verschlüsseln wir unseren Testtext mithilfe /Verschlüsselungsterminal:
curl localhost: 8888/verschlüsseln -d 12345678
Das zurückgegebene Ergebnis ist (das Ergebnis wird jedes Mal unterschiedlich sein):
94C1027141ADD9844EC47F0BE13CAEBB6B38ED1DCF99811B1A5CD2B874C64407
Ändern Sie dann in unserem Remote-Konfigurationsrepository die Konfiguration von Web-Client.yml und fügen Sie eine neue Konfiguration hinzu:
Test: Passwort: '{Cipher} 94C1027141ADD9844EC47F0BE13CAEBB6B38ED1DCF99811B1A5CD2B874C64407'Die Anführungszeichen hier sind erforderlich, und dann gibt {cipher} an, dass das Datenelement CipheText ist. Dann können wir die Entschlüsselung überprüfen:
curl localhost: 8888/decrypt -d 94c1027141add9844ec47f0be13caebb6b38ed1dcf99811b1a5cd2b874c64407
Unter normalen Umständen erhalten wir 12345678 Zeichen. Anschließend greifen wir über URL auf die Konfigurationsdatei von Web-Client.yml zu und erhalten das folgende Ergebnis:
{"Name": "Web-Client", "Profiles": ["Standard"], "Label": NULL, "Version": "6B73C56449acee907fcf37e50892a3afdbf6335", "Status": null, "PropertySources": [{"Name": ":" Name ": "https://gitee.com/zxuqian/spring-cloud-config-remote/web-client.yml", "Quelle": {"message": "Diese Nachricht stammt aus dem Remote-Konfigurationsrepository", "Management.Sie werden sehen, dass der entschlüsselte Test.Password 12345678 ist.
Zusammenfassen
Die obige Methode ist die Methode zur Verwendung der symmetrischen Verschlüsselung für die vom Editor eingeführten Spring -Cloud -Konfigurationsdateien. Ich hoffe, es wird Ihnen hilfreich sein. Wenn Sie Fragen haben, hinterlassen Sie mir bitte eine Nachricht und der Editor wird Ihnen rechtzeitig antworten. Vielen Dank für Ihre Unterstützung auf der Wulin.com -Website!