JBCrypt增加盐长参数

时间:2018-06-26 02:30:33

标签: bcrypt blowfish jbcrypt

我正在尝试将JBCrypt用于Java应用程序的登录系统。该Web应用程序利用带有默认参数的内置password_hash函数。似乎COST设置为10,并且盐的长度现在大于使用JBCrypt类实现的标准16。当我执行下面的测试代码时,JBCrypt会抛出无效的长度超过16位数字的盐。由于这对我来说是新事物,并且希望我不必接触这个类就可以解决这个问题,我相对迷失了方向,并且找不到合适的文档,因为该项目似乎已经过时了。我可以指出用于修改此类的任何帮助/文档或Java的替代方法。此示例使用的盐长为22。

String hash_php = "$2y$10$ss9kwE8iSIqcJOAPhZR0Y.2XdYXJTFJ1/wGq6SUv74vULE7uhKUIO".replaceFirst("2y", "2a");
        System.out.println("hash php " + hash_php);
        //String a_hash = BCrypt.hashpw("123456", BCrypt.gensalt());
        //System.out.println("Encrypt " + a_hash);
        if (BCrypt.checkpw("123456", hash_php)) {
            System.out.println("It matches");
        } else {
            System.out.println("It does not match");
        }

默认BCrypt类(链接到字符限制):Bcrypt class

发生错误:

if (salt.length != BCRYPT_SALT_LEN)
            throw new IllegalArgumentException ("Bad salt length");

0 个答案:

没有答案