Maison >Java >javaDidacticiel >Comment Springboot intègre Jasypt pour implémenter le chiffrement des fichiers de configuration

Comment Springboot intègre Jasypt pour implémenter le chiffrement des fichiers de configuration

WBOY
WBOYavant
2023-06-01 08:55:441446parcourir

Présentation de Jasypt

Jasypt est une bibliothèque Java qui permet à un développeur d'ajouter des fonctionnalités de chiffrement de base à son projet avec un minimum d'effort et ne nécessite pas une compréhension approfondie du fonctionnement du chiffrement

pour un chiffrement élevé unidirectionnel et bidirectionnel. -sécurité, technologie de cryptage basée sur des normes. Cryptez les mots de passe, le texte, les chiffres, les binaires...

Convient pour une intégration dans des applications basées sur Spring, une API ouverte, pour une utilisation avec n'importe quel fournisseur JCE...

Ajoutez des dépendances telles que :

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

Avantages Jasypt

Protection Notre système est sécurisé et même si le code est divulgué, la source de données est absolument sûre.

Scénarios d'application

Chiffrez tous les mots de passe des comptes dans le fichier de configuration, ainsi que les éléments que vous souhaitez chiffrer.

Comment utiliser

Cryptez et déchiffrez le compte ou le mot de passe via la clé, et déchiffrez le texte chiffré au démarrage du projet.

Utilisation pratique

Outils de cryptage et de décryptage

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);
    }
}

Modifiez le fichier de configuration, cryptez le mot de passe du compte de base de données, utilisez ENC() pour inclure le texte chiffré, mettez-le entre parenthèses et utilisez la signification de ENC() pour décrypter et charger au démarrage.

Comment Springboot intègre Jasypt pour implémenter le chiffrement des fichiers de configuration

Configurez la clé dans le fichier de configuration application.yml et utilisez la clé spécifiée pour déchiffrer

jasypt:
  encryptor:
    password: Jasypt

Cependant, cette méthode n'est pas recommandée si le code divulgue le mot de passe du compte, il ne sera pas différent du texte brut. . Vous pouvez configurer la clé dans la variable d'environnement, la charger directement en tant que variable d'environnement système ! !

La clé est spécifiée via la variable d'environnement. Modifiez le fichier de configuration et remplacez la clé par le nom de la variable d'environnement sous la forme ${nom de la variable d'environnement}, recherchez la valeur de la variable via le nom de la variable d'environnement au démarrage, qui est. notre clé ! ! !

jasypt:
chiffreur:
#Nom de la variable d'environnement
Mot de passe : ${JASYPT_PASSWORD}

Spécification du mode variable d'environnement Windows

Remarque : après avoir configuré les variables d'environnement dans Windows, vous devez fermer IDEA et le rouvrir pour laisser il charge les variables d'environnement.

Comment Springboot intègre Jasypt pour implémenter le chiffrement des fichiers de configuration

Méthode de variable d'environnement Linux pour spécifier

Modifier le fichier de variable d'environnement

vim /etc/profile

Ajouter

export JASYPT_PASSWORD=Jasypt

en bas et quittez l'actualisation des variables d'environnement

source /etc/profile

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer