|
Заблокирован
|
|
Может ли быть одинаковая хэш-сумма для разных наборов данных?19.06.2014, 10:59. Показов 12792. Ответов 8
Метки нет (Все метки)
Всем привет! Есть небольшая серия вопросов по хэшам, к ому не сложно, дайте свои комменты по вопросам. Просьба не засирать тему флудом
![]() 1. Есть два различных набора байтов, может ли оказаться так, что хэш сумма для них окажется одинаковой? В данном вопросе не рассматриваем размерности данных и хеш сумм, а так же алгоритмы хеш сумм, чисто теория. 2. Если в п.1 такой вариант возможен, то нет ли какого - то типа (алгоритма) хеш суммы, повтор которой для любых различных наборов байт одинаковой длинны (ну скажем 4096 байт в наборе А и такое же кол-во других байт в наборе Б) не возможен? То есть мне нужно получить уникальный ключ/ код/ сумму... да что угодно... для определённого набора байт, которая бы выполняла следующие условия: 2.a.) данный ключ был бы уникальным в заранее известной и постоянной длине байт, то есть есть допустим блок данных размером 4096 байт, я хочу, чтоб при любом раскладе байт этой размерности для каждого набора был уникальный ключ. 2.б.) данный ключ должен быть намного меньшей размерности, чем сами данные, в идеале намнОООго меньше, допустим блок данных 1 гигабайт, а уникальный ключ всего навсего 128 байт ... 3. Какова вместимость так сказать хеш суммы? Тоесть если хеш сумма какого - то алгоритма 128-и байтовая, то для какой максимальной длинны последовательности байт она подойдёт, чтоб она оставалась опять же уникальная для всех вариантов в рамках этой размерности?
0
|
|
| 19.06.2014, 10:59 | |
|
Ответы с готовыми решениями:
8
Могут ли быть одинаковые хэш-коды у двух разных элементов QSet? Обновление данных dataGridView в потоке ошибка BindingSource не может быть источником данных для самого себя Хэш функция строк (строк в массиве может быть около 2 миллионов) |
|
327 / 230 / 55
Регистрация: 30.05.2014
Сообщений: 682
|
||
| 19.06.2014, 11:17 | ||
|
Хеш - алгоритм по определению возвращает уникальный отпечаток фиксированного размера для любой последовательности байт любого размера. Размер отпечатка фиксирован, зависит от алгоритма и не зависит от объема входных данных.
1
|
||
| 19.06.2014, 11:23 | ||
|
Коротко. Хэш неуникален. По определению. Но для хорошего алго, вероятность коллизий мала. Например, для SHA1 - 1/(2^64). Если набор данных предопределен заранее, то для такого набора можно построить набор уникальных хэшей с соотношением размеров порядка ~ 1 бит/символ.
1
|
||
|
543 / 486 / 104
Регистрация: 05.05.2014
Сообщений: 1,110
|
||
| 19.06.2014, 11:23 | ||
Сообщение было отмечено SuperHero как решение
Решение
2
|
||
|
221 / 166 / 47
Регистрация: 17.07.2012
Сообщений: 587
|
|
| 19.06.2014, 11:39 | |
|
да, только вот с хешами не всегда количество ящиков на 1 меньше чем носков!)))
вот ссылка, там ломают хеши для строк http://codeforces.ru/blog/entry/4898
1
|
|
|
Заблокирован
|
|
| 19.06.2014, 13:01 [ТС] | |
|
Всем спасибо. Понял, что закодировать к примеру 100 гигабайт кусками по 4 килобайта со 100% гарантии, что даже для кусков данных с разными данными не получится одинаковая контрольная сумма - нельзя.
0
|
|
|
543 / 486 / 104
Регистрация: 05.05.2014
Сообщений: 1,110
|
|
| 19.06.2014, 13:40 | |
|
0
|
|
|
2511 / 1132 / 582
Регистрация: 07.06.2014
Сообщений: 3,286
|
||
| 19.06.2014, 13:49 | ||
Сообщение было отмечено SuperHero как решение
РешениеНо, 1) Вас не смущает, что вероятность того, что прилетат инопланетяне и заберут ваш компьютер с одинаковыми кусками выше, чем вероятность появления коллизии Как выше сказано, для SHA1 вероятность возникновения коллизии 1/2^64 это единица делённая на 18446744073709551616 подсчитайте, сколько раз Вам надо будет кусочков, чтобы вероятность хотя бы к одной миллиардной приблизилось. чтобы число было легче представить, то вот это число прописью: восемнадцать квинтиллионов четыреста сорок шесть квадриллионов семьсот сорок четыре триллиона семьдесят три миллиарда семьсот девять миллионов пятьсот пятьдесят одна тысяча шестьсот шестнадцать Недостоточно для практического использования?! ![]() 2) никто не мешает подсчитать два (три, четыре) пять разных хэшей. Вероятность совпадения будет равна произведению вероятностей коллизий. Т.е. вы можете вероятность совпадения ещё сильно уменьшить
1
|
||
|
Заблокирован
|
||
| 19.06.2014, 17:04 [ТС] | ||
|
0
|
||
| 19.06.2014, 17:04 | |
|
Помогаю со студенческими работами здесь
9
bindingsource не может быть источником данных для самого себя
Сколько разных серий лотерейных билетов может быть? Как создать базу данных для сайта,где может быть много значений в одном поле
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Символьное дифференцирование
igorrr37 13.02.2026
/ *
Программа принимает математическое выражение в виде строки и выдаёт его производную в виде строки и вычисляет
значение производной при заданном х
Логарифм записывается как: (x-2)log(x^2+2) -. . .
|
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
|
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу,
и светлой Луне.
В мире
покоя нет
и люди
не могут жить в тишине.
А жить им немного лет.
|
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила»
«Время-Деньги»
«Деньги -Пуля»
|
|
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога
Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога
Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
|
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
|