Как и большинство пользователей, я просто пытаюсь найти безопасный способ хранения паролей. То, что я не нашел здесь (или, может быть, мое отсутствие понимания), - это то, как получить соленый хеш в моей базе данных и отделить соль от хешированного пароля, особенно с уникальными солями для каждого пароля при сохранении соли + пароль в одиночный столбец.
Я нахожу все эти классные способы шифрования паролей (SHA-256, но MySQL поддерживает только SHA/1 и MD5?) и другие вещи из руководства PHP, но не уверен, как хранить и извлекать пароли.
Итак, это все, что я понимаю:
SHA('$salt'.'$password') // My query sends the password and salt
// (Should the $salt be a hash itself?)
После этого я теряюсь с солями.
Получить пароль без соли легко, но соль меня смущает. Где я могу получить значение из $salt снова, особенно если он уникален и безопасен? Скрыть их в другой базе данных? Константа (кажется, небезопасно)?
EDIT: Является ли ключевая переменная в HMAC, которая должна быть солью, или это что-то еще?