Préface
Cet article présente principalement les méthodes connexes de Jasypt pour chiffrer les fichiers de configuration de démarrage Spring. Je ne dirai pas beaucoup ci-dessous, jetons un coup d'œil à l'introduction détaillée ensemble.
La méthode est la suivante:
Présentation de Jasypt
<dependency> <proupId> com.github.ulisesbocchio </rompuprid> <lefactive> jasypt-spring-boot-starter </retifactid> <version> 2.0.0 </-version> </Dedidency>
Générer des cordes à crypter
Crypter le nom d'utilisateur et le mot de passe de la base de données
public static void main (String [] args) {BasicTextenCryptor textenccryptor = new BasicTextenCryptor (); // Salt (sel) requis pour le cryptage textencryptor.setpassword ("g0cvdz7ojn6"); // les données à crypter (nom d'utilisateur ou mot de passe de la base de données) String username = textencyptor.encrypt ("root"); String mot de passe = textencryptor.encrypt ("root123"); System.out.println ("nom d'utilisateur:" + nom d'utilisateur); System.out.println ("Mot de passe:" + mot de passe); }Les informations de sortie sont:
Nom d'utilisateur: i8qgen4uoy2e1rhzrpstya ==
Mot de passe: 6EAMH / RX5OXUVCA9IGNVTG ==
Ou utilisez Maven pour télécharger le package JAR pour crypter /maven/org/jasypt/jasypt/1.9.2/jasypt-1.9.2.jar
java -cp jasypt-1.9.2.jar org.jasypt.intf.cli.jasyptpbestRingencryptionCli mot de passe = g0cvdz7ojn6 algorithm = pbewithmd5anddes input = root
Les informations de sortie sont:
---ENVIRONNEMENT----------------------
Exécution: Oracle Corporation Java Hotspot (TM) 64 bits VM 25.171-B11--- Arguments -------------------------------------------------------------------------------------------------------------------
entrée: root
Algorithme: PBEWITHMD5ANDDES
Mot de passe: G0CVDZ7OJN6---SORTIR---------------------------
Gvkoz + sbfwire3ectizv1a ==
Copiez simplement les résultats sous sortie
Configurer les fichiers de propriétés
Configurez la chaîne de chiffrement générée ENC (chaîne de chiffrement) en application.properties
# sel (sel) requis pour le cryptage jasypt.encryptor.password = g0cvdz7ojn6 # La méthode de chiffrement par défaut PBEWITHMD5anddes peut être modifiée en PBEWITHMD5Andtripledes # jasypt.encryptor.algorithm = pbewithmd5anddesspring.datasource.username = ENC (6EAMH / RX5OXUVCA9IGNVTG ==) .DataSource.Password = ENC (6EAMH / RX5OXUVCA9IGNVTG ==) Spring.DataSource.Password = ENC (6EAMH / RX5OXUVCA9IGNVTG ==)
Les classes de cryptage correspondantes sont Basicxtencryptor et Strongtextencryptor
public basicTextencryptor () {super (); this.encryptor = new StandardPbestRingCryptor (); this.encryptor.setalgorithm ("pBewithMd5andDes");} public StrongTextenCryptor () {super (); this.encryptor = new StandardPbestRingCryptor (); this.encryptor.setalgorithm ("PBEWITHMD5Andtripledes");} Diagramme de classe
Configurer la valeur de sel pendant le déploiement
Afin d'empêcher le sel (sel) de fuir, sans réserver le mot de passe. Vous pouvez utiliser la commande pour passer la valeur du sel (sel) lors du déploiement du projet.
java -jar -djasypt.encryptor.password = g0cvdz7ojn6 xxx.jar
Ou le configurer dans les variables d'environnement du serveur pour améliorer encore la sécurité
Fichier ouvrir / etc / profil
vim / etc / profilInsérer à la fin du fichier
Exporter jasypt_password = g0cvdz7ojn6Compilation
source / etc / profilcourir
java -jar -djasypt.encryptor.password = $ {jasypt_password} xxx.jar
Adresse officielle: https://github.com/ulisesbocchio/jasypt-spring-boot (téléchargement local)
Résumer
Ce qui précède est l'intégralité du contenu de cet article. J'espère que le contenu de cet article a une certaine valeur de référence pour l'étude ou le travail de chacun. Si vous avez des questions, vous pouvez laisser un message pour communiquer. Merci pour votre soutien à wulin.com.