JBCrypt Параметр увеличения длины соли

Я пытаюсь использовать JBCrypt для системы входа в систему для приложения Java. Веб-приложение использует встроенную функцию password_hash с параметрами по умолчанию. Похоже, что COST установлен на 10, а длина соли теперь больше, чем стандарт 16, реализованный в классе JBCrypt. Когда я выполняю тестовый код ниже, 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

Ошибка происходит:

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

0 ответов

Другие вопросы по тегам