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.
<dependency> <groupId>org.mindrot</groupId> <artifactId>jbcrypt</artifactId> <version>0.3m</version> </dependency>
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); } }
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)); }
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!