Im Benutzermodul muss das Passwort des Benutzers geschützt und normalerweise verschlüsselt werden.
Normalerweise verschlüsseln wir das Passwort und speichern es in der Datenbank. Wenn sich der Benutzer anmeldet, wird das eingegebene Passwort verschlüsselt und mit dem in der Datenbank gespeicherten Chiffretext verglichen, um zu überprüfen, ob das Benutzerpasswort korrekt ist.
Derzeit sind MD5 und BCrypt beliebter. Relativ gesehen ist BCrypt sicherer als 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)); }
Das obige ist der detaillierte Inhalt vonSo implementieren Sie eine asymmetrische Verschlüsselung von Zeichenfolgen in Springboot basierend auf BCrypt. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!