Расширение и использование кода генерации соли для системы входа в систему PHP

StackOverflow https://stackoverflow.com//questions/9717116

Вопрос

Я работаю над системой входа в систему 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 () ) и необязательно ,

    Это быстро и просто.

Я обычно пользуюсь второй вариант.

Другие советы

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top