Что хеширует пароль? [закрытый]

http://weblogs.asp.net/stefansedich/archive/2008/10/03/paging-with-nhibernate-using-a-custom-extension-method-to-make-it-easier.aspx

В том сообщении я определил метод CriteriaTransformer.clone.

, Который должен скопировать объект критериев.

можно также установить проекцию на getlist методе.

Ой я не заметил, что Вы обращались к Java, в спящем режиме. Так или иначе этот http://forum.hibernate.org/viewtopic.php?t=939039

сообщение форума должно быть в состоянии ответить на Ваш вопрос.

17
задан Gavin Miller 21 October 2009 в 19:34
поделиться

3 ответа

Определение:
Хеширование - это применение функции f () к входу переменного размера для получения выходного сигнала постоянного размера.

A => f() => X
B => f() => Y
C => f() => Z

A hash также является односторонней функцией, что означает, что нет функции для отмены или отмены хеша. Также повторное применение хеш-функции f (f (x)) не приведет к повторному результату x .

Подробности:

Хеш-функция может быть такой простой, как «добавить 13 ко входу», или сложный, например, криптографический хеш , например MD5 или SHA1 . Есть много вещей, которые составляют хорошую хеш-функцию, например:

  • Низкая стоимость : Легко вычислить
  • Детерминированный : если я хеширую вход a несколько раз, я собираюсь чтобы каждый раз получать одинаковый результат
  • Uniformity : Вход будет равномерно распределен между возможными выходами. Это соответствует так называемому Принципу голубятни . Поскольку количество выходов ограничено, мы хотим, чтобы f () размещал эти выходы равномерно, а не в одном сегменте. Когда два входа вычисляют один и тот же результат, это называется столкновением. Для хеш-функции хорошо, что она вызывает меньше конфликтов.

Хеширование, применяемое к паролям:

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

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

Однородность , с другой стороны, полезна, потому что алгоритм должен ограничивать коллизии.

Поскольку хэш является односторонним означает, что вход не может быть определен по выходным данным, поэтому хеширование отлично подходит для паролей!

16
ответ дан 30 November 2019 в 11:52
поделиться

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

Статья в Википедии

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

Это предотвращает сохранение вами открытого текста ] пароли в базе данных (плохая идея).

Вот список хэш-функций .

14
ответ дан 30 November 2019 в 11:52
поделиться

A hash is simply a one-way function, that will take a string or data source and create an encrypted looking string.

There are various hashing algorithms the most popular is MD5, but there are many others. Many experts in the industry are using the SHA256 algorithm for better security.

MD5 Hash for the words:

password is 22e5ab5743ea52caf34abcc02c0f161d

PASSWORD is 319f4d26e3c536b5dd871bb2c52e3178

The character length of the result will be the same regardless of how many characters you try to hash. Hashes are commonly used to store passwords to prevent them from being viewed.

6
ответ дан 30 November 2019 в 11:52
поделиться
Другие вопросы по тегам:

Похожие вопросы: