Кто-нибудь может описать разницу между шифрованием пароля и хэшем (sha-256)? - PullRequest
1 голос
/ 29 ноября 2011

Мне нужно сохранить пароль в базе данных. Я запутался в шифровании, хэше, используя sha-256, метод генерации соли. Если кто-нибудь объяснит основную концепцию, то это будет полезно

Ответы [ 2 ]

2 голосов
/ 29 ноября 2011

Следующее - очень простое объяснение, так или иначе ...

  • Шифрование - это обратимый метод шифрования данных. Поэтому, если у вас есть «пароль», метод шифрования преобразует его (например) в «ufmehlejw», и тогда вы снова можете получить «пароль».
  • Хеш-функция (одна из них - sha-256) - это функция, которая после использования строки не может восстановить исходную строку.
  • Соль - это строка, которую обычно используют программисты (и не только, конечно) для смешивания заданного пароля. Обычно это генерируется случайным образом. Соль используется для расширения исходных данных перед использованием хеш-функции. Соль в том, чтобы злоумышленники не могли узнать исходный пароль пользователя из украденного хэша, используя радужные таблицы .
1 голос
/ 29 ноября 2011

Короче говоря:

Шифрование - это процесс с обратным. Другими словами: если я зашифровываю некоторый текст, существует процесс, который может преобразовать новый текст обратно в исходный, называемый расшифровка .

Хеширование принципиально отличается от шифрования, потому что не имеет такой процесс. Хэш предназначен для предоставления вам результата, который является уникальным для заданного входного текста (ну, почти уникальным, давайте оставим его уникальным). Таким образом, люди могут проверить, были ли два входных текста равны, не зная, какой фактический входной текст был. Поэтому, если люди получат ваш хешированный пароль, они все равно не смогут его расшифровать. SHA - это семейство методов, обеспечивающих хеширование.

Соли и перцы - это просто дополнительные методы хэширования, которые описывают процесс добавления чего-либо до и после входного текста перед хэшированием. Это повышает сложность взлома хэшей методом возврата к тексту.

Взлом с использованием грубой силы означает простое использование всех возможных входных данных (aa, ab, ac и т. Д.) И посмотреть, сможете ли вы сгенерировать хеш, который соответствует хешу, который вы получили, взломав какой-либо веб-сайт или что-то еще. Вы можете найти больше об этом здесь: https://security.stackexchange.com/questions/3272/password-hashing-add-salt-pepper-or-is-salt-enough

...