Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 HashBytes  [new]
malyan
Member

Откуда:
Сообщений: 48
Скажите пожалуйста, бывает обратная функция для HashBytes? Нужно расшифровать пароль.
30 июл 10, 09:44    [9182336]     Ответить | Цитировать Сообщить модератору
 Re: HashBytes  [new]
Geep
Member

Откуда: Москва
Сообщений: 975
malyan, нет. Учите мат. часть.
30 июл 10, 09:49    [9182362]     Ответить | Цитировать Сообщить модератору
 Re: HashBytes  [new]
лолл
Guest
malyan,

у вас задача именно расшифровать пароль или все же проверить пароль? если второе, то его вовсе не нужно расшифровывать: сравнивают хэш, хранящийся в базе, с хэшем пароля, введенного пользователем.
30 июл 10, 10:23    [9182554]     Ответить | Цитировать Сообщить модератору
 Re: HashBytes  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31990
malyan
Скажите пожалуйста, бывает обратная функция для HashBytes? Нужно расшифровать пароль.
Эту функцию придумали для того, чтобы было нельзя расшифровать :-)
30 июл 10, 10:25    [9182566]     Ответить | Цитировать Сообщить модератору
 Re: HashBytes  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
А подумать? Вы хешируете данные размером в, скажем, 10 мегабайт, а на выходе получаете 16/128/256 байт (в зависимости от алгоритма хеширования). Откуда при обратном преобразовании возьмутся 10 мегабайт?
30 июл 10, 10:33    [9182613]     Ответить | Цитировать Сообщить модератору
 Re: HashBytes  [new]
Aleksey-K
Member

Откуда: Москва
Сообщений: 3116
malyan
Скажите пожалуйста, бывает обратная функция для HashBytes? Нужно расшифровать пароль.

Фарш обратно не проворачивается :)
С уважением, Алексей
30 июл 10, 10:46    [9182709]     Ответить | Цитировать Сообщить модератору
 Re: HashBytes  [new]
SQL2008
Member

Откуда: Москва
Сообщений: 4478
Aleksey-K
Фарш обратно не проворачивается :)
С уважением, Алексей

Хорошо сказано. 5 баллов.
30 июл 10, 10:48    [9182729]     Ответить | Цитировать Сообщить модератору
 Re: HashBytes  [new]
Паганель
Member

Откуда: Винница
Сообщений: 22550
Это кажись у Громова было, вроде в "Феодале"
Но в применении к HashBytes - действительно круто
30 июл 10, 10:56    [9182787]     Ответить | Цитировать Сообщить модератору
Между сообщениями интервал более 1 года.
 Re: HashBytes  [new]
вопрос от новичка
Guest
Т.е. возможна ситуация, когда на разных входных строках будет одинаковый хэш?
24 сен 15, 11:24    [18188826]     Ответить | Цитировать Сообщить модератору
 Re: HashBytes  [new]
Игорь Горбонос
Member

Откуда: Днепропетровск
Сообщений: 4236
вопрос от новичка,

да, это называется коллизия.
24 сен 15, 11:37    [18188915]     Ответить | Цитировать Сообщить модератору
 Re: HashBytes  [new]
вопрос от новичка
Guest
Игорь Горбонос,

понятно. Спасибо!
24 сен 15, 11:41    [18188954]     Ответить | Цитировать Сообщить модератору
 Re: HashBytes  [new]
Коллизоид
Guest
Насчет коллизии:
есть такая функция для генерации уникальных id, которая возвращает такой результат:

cast(hashbytes('SHA1', @input_text) as bigint)

На вход подается какая-то комбинация полей @input_text.

Я так понимаю, что здесь коллизия может быть в разы больше, так как возвращается после преобразования поле типа bigint, которое в 2,5 раза меньше, чем hashbytes('SHA1'...)(20 байт). Верно ли это?

И какова вероятность задвоения id значений, сформированных таким образом? Или как много записей можно ввести без задвоений?
24 сен 15, 23:15    [18192705]     Ответить | Цитировать Сообщить модератору
 Re: HashBytes  [new]
aleks2
Guest
Коллизоид
Насчет коллизии:
есть такая функция для генерации уникальных id, которая возвращает такой результат:

cast(hashbytes('SHA1', @input_text) as bigint)

На вход подается какая-то комбинация полей @input_text.

Я так понимаю, что здесь коллизия может быть в разы больше, так как возвращается после преобразования поле типа bigint, которое в 2,5 раза меньше, чем hashbytes('SHA1'...)(20 байт). Верно ли это?

И какова вероятность задвоения id значений, сформированных таким образом? Или как много записей можно ввести без задвоений?


На одно уникальное значение bigint возможно значений hashbytes('SHA1'...)

2^(8*20) / 2^(8*8) / = 2^(8*12).

Это точная оценка для идеального случая. В реальности может быть хуже.

Для @input_text считается также. Промежуточные преобразования ничего не меняют.
Важно только количество исходных значений и количество значений хеша.
25 сен 15, 09:19    [18193153]     Ответить | Цитировать Сообщить модератору
 Re: HashBytes  [new]
a_voronin
Member

Откуда: Москва
Сообщений: 4902
https://ru.wikipedia.org/wiki/Коллизия_хеш-функции
25 сен 15, 11:56    [18194111]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить