Я пришел примерно к тому же выводу, что и другие, но с другим обоснованием.
Вообще говоря, атака прообраз (грубая сила) на SHA-256 требует 2 ^ 256 оценок, независимо от длины пароля .Другими словами, хэш «пароля», длина которого составляет тысячи символов, все равно потребует в среднем 2 ^ 256 попыток дублирования.2 ^ 256 составляет около 1,2 х 10 ^ 77.Однако очень короткий пароль, где число возможностей меньше 2 ^ 256, даже легче взломать.
Порог проходит, когда число возможностей больше 2 ^ 256.
Если вы используете ISO 8859-1, который имеет 191 символ, существует 191 ^ n возможных случайных паролей длины n, где n - длина пароля.191 ^ 33 составляет около 1,9 x 10 ^ 75, а 191 ^ 34 - около 3,6 x 10 ^ 77, поэтому порог будет равен 33 символа .
Если вы используете простой ASCII,с 128 символами было бы 128 ^ n возможных случайных паролей длины n, где n - длина пароля.128 ^ 36 составляет около 7,2 x 10 ^ 75, а 128 ^ 37 - около 9,3 x 10 ^ 77, поэтому порог будет равен 36 символов .
Некоторые из других ответов кажутсяподразумевается, что порог всегда составляет 32 символа.Однако, если моя логика верна, порог изменяется в зависимости от количества символов, которые есть в вашем наборе символов .
Фактически, предположим, что вы использовали только символы az и 0-9, вы продолжите увеличивать надежность пароля до тех пор, пока ваш пароль не станет длиной 49 символов !(36 ^ 49 составляет примерно 1,8 x 10 ^ 76)
Надеюсь, этот ответ даст вам математическую основу для ответа на вопрос.
В качестве дополнительного примечания, если атака на день рождения (столкновение) былавозможно на SHA-256, теоретически это потребует только 2 ^ 128 оценок (в среднем), что составляет около 3,4 х 10 ^ 38.В этом случае пороговое значение для ISO 8859-1 будет составлять всего 16 символов (191 ^ 16 составляет около 3,1 x 10 ^ 36).К счастью, такая атака еще не была публично продемонстрирована.
Пожалуйста, смотрите статьи в Википедии о SHA-2 , атаках прообразом и атаках на день рождения .