ホームページ  >  記事  >  Java  >  BCrypt に基づいて Springboot で文字列の非対称暗号化を実装する方法

BCrypt に基づいて Springboot で文字列の非対称暗号化を実装する方法

PHPz
PHPz転載
2023-05-22 08:25:051580ブラウズ

1: BCrypt の概要

ユーザー モジュールでは、ユーザーのパスワードを保護する必要があり、通常は暗号化されます。
通常、パスワードは暗号化されてデータベースに保存されます。ユーザーがログインすると、入力されたパスワードは暗号化され、データベースに保存されている暗号文と比較されて、ユーザーのパスワードが正しいかどうかが検証されます。
現在、MD5 と BCrypt の方が人気があります。相対的に言えば、BCrypt は MD5 よりも安全です。

2: BCrypt 暗号化と検証の統合

2.1: POM の導入

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

2.2: ツール クラス

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: 検証

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 で文字列の非対称暗号化を実装する方法

以上がBCrypt に基づいて Springboot で文字列の非対称暗号化を実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はyisu.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。