Расширение и использование кода генерации соли для системы входа в систему PHP
-
16-12-2019 - |
Вопрос
Я работаю над системой входа в систему PHP / MySQL для веб-процессов.После просмотрения так и много статей в Интернете, придумайте основные рамки и начали писать какой-нибудь код для него.Однако я пришел в немного тупика в шифровании пароля.
После того, как ночью начнут чтение Ive, выяснил, что:
- .
- Я должен использовать пароль, по крайней мере, sha1 или sha2
- Я также должен использовать случайно сгенерированную соль (это то, с чего мне нужна помощь) и добавить его к паролю, прежде чем шифровать его
- Haved Password и случайно сгенерированная соль должны храниться в базе данных, а затем запрашиваться и объединены / зашифрованы, затем проверяются по-пользователем Hashed Password.
Моя проблема идет случайно генерирует соль,
Решение
Возможности я могу подумать:
- .
-
Используйте mt_rand () в цикле для выбора кода ASCII, получите соответствующий символ href="http://php.net/chr%28%29" Rel="nofollow"> Chr () и
ConcateNate к соли. Это позволяет создавать соли любой длины.
-
Определите строку с доступными символами, используйте mt_rand () в цикле, чтобы выбрать случайные позиции из Это, извлеките символ в выбранном положении с substr () или mb_substr () и ConcateNate к соли.
Это позволяет создавать соли с выбранным набором символов и длиной.
-
Используйте встроенную функцию, которая генерирует случайную строку (например, Uniqid () ) и необязательно ,
Это быстро и просто.
Я обычно пользуюсь второй вариант.
Другие советы
Uniqid ()?