Heim  >  Artikel  >  Java  >  Wie Springboot Jasypt integriert, um die Verschlüsselung von Konfigurationsdateien zu implementieren

Wie Springboot Jasypt integriert, um die Verschlüsselung von Konfigurationsdateien zu implementieren

WBOY
WBOYnach vorne
2023-06-01 08:55:441350Durchsuche

Wir stellen vor: Jasypt

Jasypt ist eine Java-Bibliothek, die es einem Entwickler ermöglicht, mit minimalem Aufwand grundlegende Verschlüsselungsfunktionen zu seinem Projekt hinzuzufügen und kein tiefes Verständnis der Funktionsweise der Verschlüsselung erfordert

für ein- und zweiseitig verschlüsselte Hochverschlüsselung -Sicherheit, standardbasierte Verschlüsselungstechnologie. Verschlüsseln Sie Passwörter, Text, Zahlen, Binärdateien...

Geeignet für die Integration in Spring-basierte Anwendungen, offene API, zur Verwendung mit jedem JCE-Anbieter...

Abhängigkeiten hinzufügen wie:

    <dependency>
        <groupId>com.github.ulisesbocchio</groupId>
        <artifactId>jasypt-spring-boot-starter</artifactId>
        <version>2.1.1</version>
    </dependency>

Jasypt-Vorteile

Schutz Unser System ist sicher und selbst wenn der Code durchgesickert ist, ist die Datenquelle absolut sicher.

Anwendungsszenarien

Verschlüsseln Sie alle Kontokennwörter in der Konfigurationsdatei sowie die Dinge, die Sie verschlüsseln möchten.

So verwenden Sie

Verschlüsseln und entschlüsseln Sie das Konto oder Passwort über den Schlüssel und entschlüsseln Sie den Chiffretext, wenn das Projekt gestartet wird.

Praktische Verwendung

Verschlüsselungs- und Entschlüsselungstools

import org.jasypt.util.text.BasicTextEncryptor;
/********************************************************************************
 ** @author : ZYJ
 ** @date :2023/04/26
 ** @description :Jasypt加密解密
 *********************************************************************************/
public class Jasypt {
    public static void main(String[] args) {
        BasicTextEncryptor basicTextEncryptor = new BasicTextEncryptor();
        //加密的密钥
        basicTextEncryptor.setPassword("Jasypt");
        //密码进行加密
        String encrypt = basicTextEncryptor.encrypt("密码:123456");
        //密码进行解密
        String decrypt = basicTextEncryptor.decrypt(encrypt);
        //结果输出
        System.out.println("加密后的结果:"+encrypt);
        System.out.println("加密后的结果:"+decrypt);
    }
}

Ändern Sie die Konfigurationsdatei, verschlüsseln Sie das Datenbankkontokennwort, verwenden Sie ENC(), um den Chiffretext einzuschließen, setzen Sie ihn in Klammern und verwenden Sie die Bedeutung von ENC() zum Entschlüsseln und Laden es beim Start.

Wie Springboot Jasypt integriert, um die Verschlüsselung von Konfigurationsdateien zu implementieren

Konfigurieren Sie den Schlüssel in der Konfigurationsdatei application.yml und verwenden Sie den angegebenen Schlüssel zum Entschlüsseln

jasypt:
  encryptor:
    password: Jasypt

Diese Methode ist jedoch nicht ratsam, wenn der Code das Kontokennwort preisgibt, unterscheidet es sich nicht vom Klartext . Sie können den Schlüssel in der Umgebungsvariablen konfigurieren und ihn direkt als Systemumgebungsvariable laden! !

Der Schlüssel wird über die Umgebungsvariable angegeben. Ändern Sie den Schlüssel durch den Namen der Umgebungsvariablen. Suchen Sie beim Start den Variablenwert über den Namen der Umgebungsvariablen unser Schlüssel! ! !

jasypt:
encryptor:
#Umgebungsvariable Variablenname
Passwort: ${JASYPT_PASSWORD}

Spezifikation des Windows-Umgebungsvariablenmodus

Hinweis: Nachdem Sie die Umgebungsvariablen in Windows konfiguriert haben, müssen Sie IDEA schließen und erneut öffnen Lassen Sie es Umgebungsvariablen laden.

Wie Springboot Jasypt integriert, um die Verschlüsselung von Konfigurationsdateien zu implementieren

Linux-Umgebungsvariablenmethode zum Angeben

Bearbeiten Sie die Umgebungsvariablendatei

vim /etc/profile

Fügen Sie

export JASYPT_PASSWORD=Jasypt

unten hinzu Beenden Sie die Aktualisierung der Umgebungsvariablen

Quelle /etc/profile

Das obige ist der detaillierte Inhalt vonWie Springboot Jasypt integriert, um die Verschlüsselung von Konfigurationsdateien zu implementieren. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:yisu.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen