Maison >Java >javaDidacticiel >Comment implémenter le chiffrement asymétrique des chaînes dans Springboot basé sur BCrypt

Comment implémenter le chiffrement asymétrique des chaînes dans Springboot basé sur BCrypt

PHPz
PHPzavant
2023-05-22 08:25:051621parcourir

1 : Introduction à BCrypt

Dans le module utilisateur, le mot de passe de l'utilisateur doit être protégé et généralement crypté.
Nous chiffrons généralement le mot de passe et le stockons dans la base de données Lorsque l'utilisateur se connecte, le mot de passe saisi est crypté et comparé au texte chiffré stocké dans la base de données pour vérifier si le mot de passe de l'utilisateur est correct.
Actuellement, MD5 et BCrypt sont plus populaires. Relativement parlant, BCrypt est plus sécurisé que MD5.

2 : Intégrer le cryptage et la vérification BCrypt

2.1 : Introduire POM

<dependency>
    <groupId>org.mindrot</groupId>
    <artifactId>jbcrypt</artifactId>
    <version>0.3m</version>
</dependency>

2.2 : Classe d'outils

PassWordUtil. java

package com.utils;

import org.mindrot.jbcrypt.BCrypt;

public class PassWordUtil {

    /**
     * 密码加密
     */
    public static String encrypt(String source){
        String salt = BCrypt.gensalt();
        return BCrypt.hashpw(source, salt);
    }

    /**
     * 密码校验
     */
    public static boolean check(String source, String pwdCode){
        return BCrypt.checkpw(source, pwdCode);
    }

}

2.3 : Vérification

public static void main(String[] args) {
    String password = "abc123&%*";
    String crypt = encrypt(password);
    System.out.println(crypt);
    System.out.println("==========");
    System.out.println(check(password, crypt));
    System.out.println(check(password + "1", crypt));
}

Comment implémenter le chiffrement asymétrique des chaînes dans Springboot basé sur BCrypt

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