Rumah > Java > javaTutorial > Bagaimana untuk melaksanakan penyulitan asimetri rentetan dalam Springboot berdasarkan BCrypt

Bagaimana untuk melaksanakan penyulitan asimetri rentetan dalam Springboot berdasarkan BCrypt

PHPz
Lepaskan: 2023-05-22 08:25:05
ke hadapan
1617 orang telah melayarinya

1: Pengenalan kepada BCrypt

Dalam modul pengguna, kata laluan pengguna perlu dilindungi, yang biasanya disulitkan.
Kami biasanya menyulitkan kata laluan dan menyimpannya dalam pangkalan data Apabila pengguna log masuk, kata laluan yang dimasukkan disulitkan dan dibandingkan dengan teks sifir yang disimpan dalam pangkalan data untuk mengesahkan sama ada kata laluan pengguna adalah betul.
Pada masa ini, MD5 dan BCrypt lebih popular. Secara relatifnya, BCrypt lebih selamat daripada MD5.

2: Integrasikan penyulitan dan pengesahan BCrypt

2.1: Perkenalkan POM

<dependency>
    <groupId>org.mindrot</groupId>
    <artifactId>jbcrypt</artifactId>
    <version>0.3m</version>
</dependency>
Salin selepas log masuk

2.2: Kelas alat

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);
    }

}
Salin selepas log masuk
2.3: Pengesahan

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));
}
Salin selepas log masuk

Bagaimana untuk melaksanakan penyulitan asimetri rentetan dalam Springboot berdasarkan BCrypt

Atas ialah kandungan terperinci Bagaimana untuk melaksanakan penyulitan asimetri rentetan dalam Springboot berdasarkan BCrypt. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:yisu.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan