Я хочу использовать Bcrypt для шифрования паролей в моих системах. Но все эти примеры являются чем-то вроде этого:Использование 512-хэша перед Bcrypt?
$password = $_POST['password'];
$salt = substr(str_replace('+', '.', base64_encode(sha1(microtime(true), true))), 0, 22);
$hash = crypt($password, '$2a$12$'.$salt);
Это выглядит довольно безопасно для меня, но мне было интересно, в каждом примере, никто не хэш пароля перед использованием Bcrypt.
Из-за уникальной соли, таблицы Rainbow не должны взламывать все пароли сразу. Но в случае, если хакер берет одну запись и создает радужный стол с солью этой конкретной записи, он должен иметь возможность взломать слабый пароль.
Итак, если кто-то принимает слабый пароль (скажем, «foo»), было бы безопаснее сначала использовать его SHA-512 перед использованием Bcrypt. Я прав? Или это просто выглядит безопаснее?
Создание радужного стола только для одного сингла бессмысленно. – Gumbo