Вниз
Скачать: CL | DM;

Хеш-функция   Найти похожие ветки 

 
Алексей   (2004-03-06 02:01) [0]

Что такое хеш-функция


 
Rouse_ ©   (2004-03-06 03:28) [1]

Наиболее вероятно - функция возвращающая хэш блока данных ;)
Или ты по АПИ?


 
Alex Konshin ©   (2004-03-06 09:12) [2]

Хеш функция по теории это некая функция, которая вычисляет по значению некое число. Обычно стараются, чтобы у этой функции было более-менее равномерное распределение. Хеш-функция не обязана выдавать для двух разных аргументов одинаковые значения.
Смысл использования хеш-функции - заменить ключ поиска на более простой, например, заменить строки на числа. Таким образом мы разбиваем все множество ключей на множество маленьких кучек (в каждой кучке ключей хеш одинаковый), а потом уже ищем в этой кучке. Для строковых ключей очень часто используется в качестве хеш-функции функции CRC16 и CRC32.
Почитать про хеш-функции можно в трехтомнике Кнута "Искусство программирования", например, в томе 3.


 
Rouse_ ©   (2004-03-06 09:49) [3]

Поправлю > Хеш-функция не обязана выдавать не "не обязана" а не должна... (хотя смотря какой хэш)


 
Alex Konshin ©   (2004-03-06 10:02) [4]

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


 
nikkie ©   (2004-03-06 16:07) [5]

>Хеш-функция не обязана выдавать для двух разных аргументов одинаковые значения.
если бы была обязана, то была бы константой :)

я бы сказал
Хеш-функция не обязана выдавать для двух разных аргументов разные значения.
т.е. хеш-функция, конечно, необратима.

однако если хеш-функция должна использоваться в применении к безопасности (например, как подпись), то на нее накладывается требование
для "близких" аргументов она должна выдавать "сильно разные" значения хеша.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.021 c
1-1078401410
СержК
2004-03-04 14:56
2004.03.28
Как свернуть все окна программы


3-1076957114
casper
2004-02-16 21:45
2004.03.28
Использую TADOQuery1.Запрос SELECT * FROM DB WHERE DB.DATA=01/06


1-1078858610
КомофОнСамый
2004-03-09 21:56
2004.03.28
почему не получается получить имя От TComponent


1-1078758642
Гарри Поттер
2004-03-08 18:10
2004.03.28
Поворот картинки


14-1077926598
oleg_SYS
2004-02-28 03:03
2004.03.28
Продажа программ




   Наверх