Является ли двойное хеширование в сочетании с засолкой эффективным методом хранения паролей? - PullRequest
0 голосов
/ 19 октября 2018

Я пытаюсь сохранить пароли в соответствии с шагами ниже:

  1. хэширование пароля,
  2. Добавление последних четырех символов хешированного пароля к хешированному паролю снова
  3. добавление соли к результату шага 2
  4. Хеширование результата шага 3

Существуют ли способы, которыми хакеры все еще могут взломать это?

Ответы [ 2 ]

0 голосов
/ 19 октября 2018

Пока злоумышленник не знает ваше изобретение, это « безопасность от неясности », как только алгоритм известен, его почти так же легко перебить, как обычное соленое SHA- *.Проблема в том, что можно попробовать 3 гигабайта SHA-256 в секунду с обычными аппаратными средствами и инструментами для взлома, даже позволяя использовать несколько схем двойного хэширования из коробки.

Что вам нужнопарольная хеш-функция, такая как BCrypt, SCrypt, PBKDF2 или Argon2, которые имеют фактор стоимости для контроля необходимого времени для одного вычисления.Кроме того, вы можете с легкостью включить соль в полученную хеш-строку, поэтому вам не нужно создавать и хранить соль отдельно.

0 голосов
/ 19 октября 2018

Есть ли на самом деле способы, которыми хакеры все еще могут взломать это?

Определить взлом?Метод грубой силы всегда будет применяться для тех, кто получает доступ к вашей системе.Если у кого-то есть пароль 1234, засолка и хеширование не укрепят этот пароль.Тем не менее, если вы беспокоитесь о том, чтобы изменить пароли из хэшированного значения и сохранить PW в открытом виде (которым вы должны быть и, как представляется, источником вашего вопроса), то да, вы используете соль и хеш.

Сочетает ли двойное хеширование с засолением эффективную технику хранения пароля?

Используемая здесь хэш-функция важна.Во-первых, вам нужен устойчивый к коллизиям , чтобы два разных значения не имели высокой вероятности наличия одинакового хэша.Вы не указали, какую функцию вы использовали (MD5, SHA1, SHA256 и т. Д.)

Шаг 2 здесь на самом деле не нужен, но, безусловно, добавляет сложности.Это верно и для шага 4.Я бы склонялся к более сложным функциям типа SHA2 или SHA3 вместо перефразирования, чтобы ускорить процесс.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...