Maison >Java >javaDidacticiel >Comment Springboot intègre Jasypt pour implémenter le chiffrement des fichiers de configuration
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>
Protection Notre système est sécurisé et même si le code est divulgué, la source de données est absolument sûre.
Chiffrez tous les mots de passe des comptes dans le fichier de configuration, ainsi que les éléments que vous souhaitez chiffrer.
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.
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.
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}
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.
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!