В одном треде про хранение информации анон говорил что с помощью md5 можно хэшировать "Войну и мир" и типа записать на листочек хэш и целое произведение умещается у тебя на клочке бумажки. Что имел в виду анон, ведь хэш нельзя вернуть обратно. Растолкуй мне анон пожалуйста >
>>32397 Вот долбоеб-то. У него эти два числа будут больше исходного файла же места занимать.
Проведём эксперимент. Я создал текстовый файл со словом "hello" внутри. Винда пишет 5 байт. Откроем его с помощью winhex. Имеем: 68 65 6C 6C 6F. Переводим в dec: 104 101 108 108 111 . Далее по алгоритму получаем число 0.104101108108111. Не знаю, что этот юный математик неделями искал, но вот они те два числа, которые нужно делятся между собой: 104101108108111/1000000000000000 (думаю вы поняли, как я их нашёл и поняли, что так можно найти для любой конечной дроби за пару секунд). Теперь попробуем сократить. НОД у двух чисел: 1. Значит дробь несократимая. Теперь мы имеем два числа 104101108108111 и 1000000000000000, которые явно больше места занимают, чем даже 104101108108111, которое мы на одном из начальных этапов получили. Хуевое, короче, архивирование. И я очень сомневаюсь, что это был частный случай и что с большими файлами результат был бы лучше.
>>32451 >думаю вы поняли, как я их нашёл В этом и есть твоя проблема. Ты «нашёл» два числа, показал, что они длиннее исходных данных и почему-то решил, что все остальные числа тоже будут длиннее. Например, строку ffffffffffffffffffffffffffffffff можно записать в виде трёх чисел: 2, 3 и 64, что будет означать «поделить два на три и первые взять 64 символа дроби». Не стоит считать себя умнее профессионалов.
>>32453 Ты по алгоритму сделай. С двумя числами. Вот , скажем, 1/1024=0.0009765625. Так вот. Допустим, что я не знаю числа 1 и 1024. Мне нужно их найти. Я беру очевидную дробь 9765625/10000000000 и сокращаю ещё. 9765625/10000000000 = 1953125/2000000000 = 390625/400000000 = 15625/16000000 = 25/25600 = 1/1024. Я знаю, что быстрее искать через НОД, но похуй. Как видишь мы нашли изначальные два числа. И таким способом - просто сокращая дробь, можно найти наименьшие два числа для любой конечной десятичной дроби.
>>32393 (OP) Сделать слепок > и целое произведение умещается у тебя на клочке бумажки Ничего подобного. На листочки помешается только хешь, который не имеет ценности с точки зрения восстановления информации тома, более чем псевдо-уникальная гиперссылка.
>>32451 Не жри, зачем сожрал? Это же Бабушкин. Известный попильщик бюджета/и(или) очень жесткий нуб. Его алгоритм и антивирус - фейковые. За пруфами в дакдакго.
>>32393 (OP) Всё просто. Это действительно правда, но чтобы восстановить из хэша содержимое тебе понадобится несколько миллионов возрастов Вселенной а може и того более. Думаю, у тебя столько времени не найдётся.
>>32719 Что же ты сразу в оскорбления бросаешься, по твоим тегам ничего не нашел. Мне интересно, как можно из хеша восстановить целое произведение, зная только то, что оно на русском языке? Как же ты, Лёва, определишь, что очередной восстановленный русский текст хоть сколько нибудь приближен к искомому? Ведь сравнить не с чем - сабж пожарники спалили, а у тебя только хеш на клочке бумаги.
Но идея тупая. С тем же успехом можно объявить, что ты создал особый символ "228", который расшифровывается как весь текст этой книги и записать "Войну и мир" на клочке бумаги.
>>32393 (OP) Хеш имеет множество коллизий, поэтому нельзя и надо перебрать все варианты чтобы найти тот который будет соответствовать по содержанию захешированной информации.
>>32768 Загугли Perfect hash function. Они не имеют коллизий. В целом же, ответ на вопрос ОПа - это брутфорс идеальной хэш функции, и похуй, что на этой уйдёт почтальон бильярдов лёт.
>