


So verschlüsselt SpringBoot das SQL-Kontokennwort der Konfigurationsdatei
1. Abhängigkeiten in das Maven-Projekt einführen
<dependency> <groupId>com.github.ulisesbocchio</groupId> <artifactId>jasypt-spring-boot-starter</artifactId> <version>2.1.0</version> </dependency>
2 Gleichzeitig müssen Sie das Passwort in der application.yml-Konfigurationsdatei konfigurieren
Da das Tool dieses Passwort zum Verschlüsseln oder Entschlüsseln verwendet, müssen Sie sicherstellen, dass das Die verschlüsselte Zeichenfolge in der Konfiguration lautet: Zum Verschlüsseln dasselbe Kennwort verwenden, andernfalls wird sie beim Starten des Projekts nicht entschlüsselt.
jasypt: encryptor: password: 123456
3. Sie können die Originalinformationen im Testfall verschlüsseln. Die Verwendungsmethode ist sehr einfach. Die einfache Demo lautet wie folgt:
@RunWith(SpringRunner.class) @SpringBootTest @WebAppConfiguration public class Test { @Autowired StringEncryptor encryptor; @Test public void getPass() { #直接调用加密的方法 String mysql = encryptor.encrypt("mysql-username|mysql-password"); } }
4. Zum Schluss fügen Sie einfach die verschlüsselte Zeichenfolge in die Konfigurationsdatei ein
Wie die Zeichenfolge „mysql“ oben
url: ENC(mysql==) username: ENC(mysql==) password: ENC(mysql=)
Beachten Sie, dass ENC() eine feste Schreibweise ist, mysql= = ist Ihre Verschlüsselung. Die entsprechende Zeichenfolge danach.
Auf diese Weise können Sie so tun, als würden Sie vertrauliche Informationen verschlüsseln, hahaha, warum ich so sage, als ob. Dieses Problem könnte viele Menschen verwirren, da das verschlüsselte Passwort im Klartext in der Konfigurationsdatei gespeichert ist und von jedem leicht entschlüsselt werden kann.
Ja, das ist tatsächlich so. Man kann nur sagen, dass diese Art der Verschlüsselungsmethode es niemandem ermöglicht, das Kontopasswort sofort zu sehen.
Selbst wenn die Daten verschlüsselt sind, sind sie bedeutungslos, nachdem der Hacker Zugriff auf Ihr Projekt erhalten hat, da die Verschlüsselung lediglich eine falsche Sicherheitsmaßnahme ist. Daher ist es am grundlegendsten und wichtigsten, die Sicherheit von Projekten und Servern zu gewährleisten.
OK!OK!OK!
Verschlüsseln Sie die Konfigurationsdatei
Studenten in der Entwicklung wissen alle, dass beispielsweise projektabhängige Informationen und Datenbankinformationen im Allgemeinen in Konfigurationsdateien gespeichert werden und diese alle im Klartext vorliegen muss verschlüsselt werden. Heute werde ich die Konfiguration von jasypt mit integrierter Springboot-Verschlüsselung vorstellen.
Zuallererst basieren diese alle auf der Voraussetzung, dass Ihr Springboot-Projekt normal laufen kann.
Schritt eins: Abhängigkeiten zur POM-Datei hinzufügen, wie im Bild gezeigt
Eine Version wird hier bereitgestellt
<dependency> <groupId>com.github.ulisesbocchio</groupId> <artifactId>jasypt-spring-boot-starter</artifactId> <version>2.1.0</version> </dependency>
Schritt zwei: Schlüssel generieren
Suchen Sie das Jasypt-JAR-Paket in Ihrem lokalen Maven-Repository und öffnen Sie es Führen Sie es im cmd-Befehlsfenster in diesem Verzeichnis aus, wie in der Abbildung gezeigt:
Execute
java -cp jasypt-1.9.2.jar org.jasypt.intf.cli.JasyptPBESTringEncryptionCLI input="test" passwort= testalgorithm=PBEWithMD5AndDES
Eingabe ist Ihr Klartext-Passwort, hier demonstriere ich test, Passwort ist Ihr privater Schlüssel, dieser Algorithmus ist eine Regel, ändern Sie ihn nicht! ! ! . Nach der Ausführung sieht es so aus:
Eine kurze Erklärung, das OUTPUT ist hier der verschlüsselte Chiffretext (Passwort). So kopieren Sie Text mit cmd (da ich am Anfang nicht wusste, wie man mit cmd kopiert): Klicken Sie mit der rechten Maustaste, um den Inhalt zu markieren und auszuwählen, den Sie kopieren möchten. Anschließend können Sie ihn kopieren.
Schritt 3: Konfiguration zur Springboot-Konfigurationsdatei hinzufügen, wie in der Abbildung gezeigt
Hier verwende ich die Datei application.yml und die Datei application.properties wird wie folgt geschrieben: jasypt.encryptor.password=test .
Aber was tatsächlich verwendet wird, ist System.setProperty("jasypt.encryptor.password", "demo"); in der Startup-Klasse, um den Wert zwischen diesem Knoten neu zuzuweisen, was dazu beiträgt, den privaten Schlüssel wieder zu schützen (falls jemand mehr hat). Informationen) Wenn Sie eine gute Lösung haben, hinterlassen Sie bitte rechtzeitig eine Nachricht und lassen Sie uns diese gemeinsam besprechen.)
Erläuterung: Das erste Passwort im obigen Bild entspricht dem Passwort in ARGUMENTS im zweiten Schritt und dem zweiten Das Passwort entspricht dem Ergebnis in OUTPUT im zweiten Schritt. Das Formular muss ENC (Ihr Passwort) enthalten, wie in der Abbildung gezeigt.
Schritt 4: Entschlüsseln Sie das Passwort mit dem Befehl.
Führen Sie den Befehl aus algorithm= PBEWithMD5AndDES
Das Ergebnis ist wie unten gezeigt:Am Ende ist die Integration von Springboot und Jasypt abgeschlossen, es scheint ziemlich einfach zu implementieren zu sein, haha. Beachten Sie jedoch, dass Sie Ihre Konfigurationsdatei (insbesondere das Passwort in ARGUMENTS, das dem privaten Schlüssel entspricht) nicht preisgeben dürfen, da andere Ihr Passwort sonst im vierten Schritt entschlüsseln können. Es wird empfohlen, die Konfigurationsdatei einzugeben Konfigurationszentrum
Das obige ist der detaillierte Inhalt vonSo verschlüsselt SpringBoot das SQL-Kontokennwort der Konfigurationsdatei. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

HQL und SQL werden im Hibernate-Framework verglichen: HQL (1. Objektorientierte Syntax, 2. Datenbankunabhängige Abfragen, 3. Typsicherheit), während SQL die Datenbank direkt betreibt (1. Datenbankunabhängige Standards, 2. Komplexe ausführbare Datei). Abfragen und Datenmanipulation).

„Verwendung der Divisionsoperation in OracleSQL“ In OracleSQL ist die Divisionsoperation eine der häufigsten mathematischen Operationen. Während der Datenabfrage und -verarbeitung können uns Divisionsoperationen dabei helfen, das Verhältnis zwischen Feldern zu berechnen oder die logische Beziehung zwischen bestimmten Werten abzuleiten. In diesem Artikel wird die Verwendung der Divisionsoperation in OracleSQL vorgestellt und spezifische Codebeispiele bereitgestellt. 1. Zwei Arten von Divisionsoperationen in OracleSQL In OracleSQL können Divisionsoperationen auf zwei verschiedene Arten durchgeführt werden.

Was ist Identität in SQL? In SQL ist Identität ein spezieller Datentyp, der zum Generieren automatisch inkrementierender Zahlen verwendet wird. Er wird häufig verwendet, um jede Datenzeile in einer Tabelle eindeutig zu identifizieren. Die Spalte „Identität“ wird oft in Verbindung mit der Primärschlüsselspalte verwendet, um sicherzustellen, dass jeder Datensatz eine eindeutige Kennung hat. In diesem Artikel wird die Verwendung von Identity detailliert beschrieben und es werden einige praktische Codebeispiele aufgeführt. Die grundlegende Möglichkeit, Identity zu verwenden, besteht darin, Identit beim Erstellen einer Tabelle zu verwenden.

Oracle und DB2 sind zwei häufig verwendete relationale Datenbankverwaltungssysteme, die jeweils über ihre eigene, einzigartige SQL-Syntax und -Eigenschaften verfügen. In diesem Artikel werden die SQL-Syntax von Oracle und DB2 verglichen und unterschieden und spezifische Codebeispiele bereitgestellt. Datenbankverbindung Verwenden Sie in Oracle die folgende Anweisung, um eine Verbindung zur Datenbank herzustellen: CONNECTusername/password@database. In DB2 lautet die Anweisung zum Herstellen einer Verbindung zur Datenbank wie folgt: CONNECTTOdataba

Interpretation der dynamischen SQL-Tags von MyBatis: Detaillierte Erläuterung der Verwendung von Set-Tags. MyBatis ist ein hervorragendes Persistenzschicht-Framework. Es bietet eine Fülle dynamischer SQL-Tags und kann Datenbankoperationsanweisungen flexibel erstellen. Unter anderem wird das Set-Tag zum Generieren der SET-Klausel in der UPDATE-Anweisung verwendet, die sehr häufig bei Aktualisierungsvorgängen verwendet wird. In diesem Artikel wird die Verwendung des Set-Tags in MyBatis ausführlich erläutert und seine Funktionalität anhand spezifischer Codebeispiele demonstriert. Was ist Set-Tag? Set-Tag wird in MyBati verwendet

SpringBoot und SpringMVC sind beide häufig verwendete Frameworks in der Java-Entwicklung, es gibt jedoch einige offensichtliche Unterschiede zwischen ihnen. In diesem Artikel werden die Funktionen und Verwendungsmöglichkeiten dieser beiden Frameworks untersucht und ihre Unterschiede verglichen. Lassen Sie uns zunächst etwas über SpringBoot lernen. SpringBoot wurde vom Pivotal-Team entwickelt, um die Erstellung und Bereitstellung von Anwendungen auf Basis des Spring-Frameworks zu vereinfachen. Es bietet eine schnelle und einfache Möglichkeit, eigenständige, ausführbare Dateien zu erstellen

Lösung: 1. Überprüfen Sie, ob der angemeldete Benutzer über ausreichende Berechtigungen zum Zugriff auf oder zum Betrieb der Datenbank verfügt, und stellen Sie sicher, dass der Benutzer über die richtigen Berechtigungen verfügt. 2. Überprüfen Sie, ob das Konto des SQL Server-Dienstes über die Berechtigung zum Zugriff auf die angegebene Datei verfügt Ordner und stellen Sie sicher, dass das Konto über ausreichende Berechtigungen zum Lesen und Schreiben der Datei oder des Ordners verfügt. 3. Überprüfen Sie, ob die angegebene Datenbankdatei von anderen Prozessen geöffnet oder gesperrt wurde. Versuchen Sie, die Datei zu schließen oder freizugeben, und führen Sie die Abfrage erneut aus . Versuchen Sie es als Administrator. Führen Sie Management Studio aus als usw.

Wie verwende ich SQL-Anweisungen zur Datenaggregation und Statistik in MySQL? Datenaggregation und Statistiken sind sehr wichtige Schritte bei der Durchführung von Datenanalysen und Statistiken. Als leistungsstarkes relationales Datenbankverwaltungssystem bietet MySQL eine Fülle von Aggregations- und Statistikfunktionen, mit denen Datenaggregation und statistische Operationen problemlos durchgeführt werden können. In diesem Artikel wird die Methode zur Verwendung von SQL-Anweisungen zur Durchführung von Datenaggregation und Statistiken in MySQL vorgestellt und spezifische Codebeispiele bereitgestellt. 1. Verwenden Sie zum Zählen die COUNT-Funktion. Die COUNT-Funktion wird am häufigsten verwendet
