Интересно, что я не нашел достаточно информации относительно какого-либо теста или эксперимента по оценке вероятности столкновения одного 512-битного хэша, такого как водоворот, по сравнению с конкатенацией 4 128-битных хэшей, таких как md5, sha1 и т. Д.
Возможность 4 128-битных хешей выглядеть одинаковыми кажется менее вероятной, чем одиночный 512-битный хеш, когда данные, на которых выполняется хеширование, имеют значительно небольшой размер, всего в среднем 100 символов.
Но это всего лишь кажущееся предположение без основания, потому что я не проводил никаких тестов. Что ты думаешь об этом?
Редактировать - это похоже на хэш 512 бит против 128 бит. 128-битный хеш. 128-битный хеш. 128-битный хэш (4 хэша по 128 битов объединены)
Edit2 Я хочу использовать хеш для этого индекса по URL-адресу или хеширование с учетом ОЗУ, и цель состоит в том, чтобы свести к минимуму возможность коллизии, потому что я хочу установить столбец хеширования как уникальный вместо столбца URL-адреса.
Edit3 Обратите внимание, что цель этого вопроса - найти способ минимизировать вероятность столкновения. Сказав это, почему мне нужно уделять больше внимания минимизации возможности столкновения? Вот мое описание Edit2, которое приводит к поиску решения для использования меньшего количества оперативной памяти. Итак, интересы заключаются как в минимизации коллизий, так и в меньшем использовании оперативной памяти. Но главный фокус этого вопроса - снижение вероятности столкновения.
hash512(x)
с поведением столкновенияhash128_a(x) . hash128_b(x) . hash128_c(x) . hash128_d(x)
? (где.
обозначает конкатенацию) - person Oliver Charlesworth   schedule 14.09.2011