Я полагаю, что параметр strength
BCryptPasswordEncoder
в Spring Security управляет количеством раундов в поколении га sh:
JavaDo c класса BCryptPasswordEncoder
говорит:
Реализация PasswordEncoder, которая использует функцию сильного хеширования BCrypt. Клиенты могут дополнительно предоставить «версию» ($ 2a, $ 2b, $ 2y) и «силу» (также известные как журналы в BCrypt) и экземпляр SecureRandom. Чем больше параметр прочности, тем больше работы нужно будет (экспоненциально), чтобы получить sh пароли. Значение по умолчанию - 10.
Параметр strength
передается в класс BCrypt
(фактическая реализация) в качестве параметра log_rounds
, о котором JavaDo c говорит:
Метод gensalt () принимает необязательный параметр (log_rounds), который определяет вычислительную сложность хеширования: String strong_salt = BCrypt.gensalt (10) String strong_salt = BCrypt.gensalt (12) Количество работа увеличивается в геометрической прогрессии (2 ** log_rounds), поэтому каждый шаг в два раза больше работы. Значения log_rounds по умолчанию - 10, а допустимый диапазон - от 4 до 31.