Inhaltsverzeichnis
1. Abhängigkeiten in das Maven-Projekt einführen
2 Gleichzeitig müssen Sie das Passwort in der application.yml-Konfigurationsdatei konfigurieren
3. Sie können die Originalinformationen im Testfall verschlüsseln. Die Verwendungsmethode ist sehr einfach. Die einfache Demo lautet wie folgt:
Wie die Zeichenfolge „mysql“ oben
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.
Eine Version wird hier bereitgestellt
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:
Führen Sie den Befehl aus algorithm= PBEWithMD5AndDES
Heim Java javaLernprogramm So verschlüsselt SpringBoot das SQL-Kontokennwort der Konfigurationsdatei

So verschlüsselt SpringBoot das SQL-Kontokennwort der Konfigurationsdatei

May 22, 2023 pm 08:50 PM
sql springboot

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>
Nach dem Login kopieren

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
Nach dem Login kopieren

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");
    }
}
Nach dem Login kopieren

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=)
Nach dem Login kopieren

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>
Nach dem Login kopieren

So verschlüsselt SpringBoot das SQL-Kontokennwort der KonfigurationsdateiSchritt 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:

So verschlüsselt SpringBoot das SQL-Kontokennwort der KonfigurationsdateiExecute

java -cp jasypt-1.9.2.jar org.jasypt.intf.cli.JasyptPBESTringEncryptionCLI input="test" passwort= test

algorithm=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:

So verschlüsselt SpringBoot das SQL-Kontokennwort der KonfigurationsdateiEine 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

So verschlüsselt SpringBoot das SQL-Kontokennwort der KonfigurationsdateiHier 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.)

So verschlüsselt SpringBoot das SQL-Kontokennwort der KonfigurationsdateiErlä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:

So verschlüsselt SpringBoot das SQL-Kontokennwort der KonfigurationsdateiAm 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!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
2 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Repo: Wie man Teamkollegen wiederbelebt
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Abenteuer: Wie man riesige Samen bekommt
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Was ist der Unterschied zwischen HQL und SQL im Hibernate-Framework? Was ist der Unterschied zwischen HQL und SQL im Hibernate-Framework? Apr 17, 2024 pm 02:57 PM

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 Oracle SQL Verwendung der Divisionsoperation in Oracle SQL Mar 10, 2024 pm 03:06 PM

„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 bedeutet das Identitätsattribut in SQL? Was bedeutet das Identitätsattribut in SQL? Feb 19, 2024 am 11:24 AM

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.

Vergleich und Unterschiede der SQL-Syntax zwischen Oracle und DB2 Vergleich und Unterschiede der SQL-Syntax zwischen Oracle und DB2 Mar 11, 2024 pm 12:09 PM

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

Ausführliche Erläuterung der Funktion „Tag festlegen' in den dynamischen SQL-Tags von MyBatis Ausführliche Erläuterung der Funktion „Tag festlegen' in den dynamischen SQL-Tags von MyBatis Feb 26, 2024 pm 07:48 PM

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

Vergleich und Differenzanalyse zwischen SpringBoot und SpringMVC Vergleich und Differenzanalyse zwischen SpringBoot und SpringMVC Dec 29, 2023 am 11:02 AM

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

So beheben Sie den 5120-Fehler in SQL So beheben Sie den 5120-Fehler in SQL Mar 06, 2024 pm 04:33 PM

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? Wie verwende ich SQL-Anweisungen zur Datenaggregation und Statistik in MySQL? Dec 17, 2023 am 08:41 AM

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

See all articles