ユーザー モジュールでは、ユーザーのパスワードを保護する必要があり、通常は暗号化されます。
通常、パスワードは暗号化されてデータベースに保存されます。ユーザーがログインすると、入力されたパスワードは暗号化され、データベースに保存されている暗号文と比較されて、ユーザーのパスワードが正しいかどうかが検証されます。
現在、MD5 と BCrypt の方が人気があります。相対的に言えば、BCrypt は 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)); }
以上がBCrypt に基づいて Springboot で文字列の非対称暗号化を実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。