Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/329.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何使用jBcrypt检查bcrypt密码?(将存储从Parse.com移动到Firebase)_Java_Parse Platform_Cryptography_Firebase_Bcrypt - Fatal编程技术网

Java 如何使用jBcrypt检查bcrypt密码?(将存储从Parse.com移动到Firebase)

Java 如何使用jBcrypt检查bcrypt密码?(将存储从Parse.com移动到Firebase),java,parse-platform,cryptography,firebase,bcrypt,Java,Parse Platform,Cryptography,Firebase,Bcrypt,一些开发人员需要将存储从parse.com移动到另一台服务器 当我从parse导出数据时,我得到了json数据。此json数据具有加密密码(bcrypt),如: $2a$10$pcR4SaZd3PMD/NXQKMSSXUPMLNCDOFFU7AVG/wdpLVChNqGOXbLu 我试图理解,在这种情况下如何检查用户的密码 我使用jBcrypt的方式如下: import org.mindrot.jbcrypt.BCrypt; public class Main { public st

一些开发人员需要将存储从parse.com移动到另一台服务器

当我从parse导出数据时,我得到了json数据。此json数据具有加密密码(bcrypt),如:

$2a$10$pcR4SaZd3PMD/NXQKMSSXUPMLNCDOFFU7AVG/wdpLVChNqGOXbLu

我试图理解,在这种情况下如何检查用户的密码

我使用jBcrypt的方式如下:

import org.mindrot.jbcrypt.BCrypt;

public class Main {

    public static void main(String[] args) {
        String candidate = "$2a$10$pcR4SaZd3PMD/nXQKMssxupMLncDoFwfU7avg/wdpLVChNqGOXbLu";
        String password = "123";

        String hashed = BCrypt.hashpw(password, BCrypt.gensalt());

        if (BCrypt.checkpw(candidate, hashed)) {
            System.out.println("It matches");
        }

        else {
            System.out.println("It does not match");
        }
    }
}
在这种情况下,密码不太重要。但是如果我们去 并尝试使用BCrypt测试仪和散列、候选字符串和“123”密码,一切正常

如何理解用户的密码是否与bcrypt字符串匹配?

bcrypt.checkpw()
将纯文本密码作为第一个参数,然后将其散列并与第二个参数()进行比较;在您的例子中,您将给它一个已经散列的密码作为第一个参数,然后它将再次散列,因此它不匹配

也用于测试