|
Заблокирован
|
|
Может ли быть одинаковая хэш-сумма для разных наборов данных?19.06.2014, 10:59. Показов 12722. Ответов 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 не может быть источником данных для самого себя
Сколько разных серий лотерейных билетов может быть? Как создать базу данных для сайта,где может быть много значений в одном поле
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Рецензия / Мнение
Это мой обзор планшета X220 с точки зрения школьника.
Недавно я решила попытаться уменьшить свой. . .
|
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта
Симптом:
После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
|
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов
На странице:
https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов.
. . .
|
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
|
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
|