Здравствуйте, cruse, Вы писали:
C>Хеш MD5 занимает 16 байт. Делаем глобальную базу данных в интернет хешей всех комбинаций из 160 байт.
Развод! Сжатие будет только в десять раз!
16 * 100 == 1600, а не 160
C>Алгоритм сжатия: C> Файл разбивается на блоки по 160 байт, для каждого вычисляется хеш и помещается в выходной файл.
C>Алгоритм распаковки: C> Из файла читаются хеши и поиском в глобальной базе данных восстанавливаются блоки данных.
C>Прошу высказать ваше мнение о достоинствах, недостатках и возможных улучшениях алгоритма
Здравствуйте, cruse, Вы писали: C>Прошу высказать ваше мнение о достоинствах, недостатках и возможных улучшениях алгоритма
предлагаю разбивать на блоки по 1600 байт, чтобы действительно было сжатие в 100 раз. А еще лучше вообще не разбивать на блоки, зачем? тогда чем болье файл, тем лучше сжатие. любой файл в 16 байт и все.
Здравствуйте, IID, Вы писали:
IID>Здравствуйте, cruse, Вы писали:
C>>Хеш MD5 занимает 16 байт. Делаем глобальную базу данных в интернет хешей всех комбинаций из 160 байт.
IID>Развод! Сжатие будет только в десять раз! IID>16 * 100 == 1600, а не 160
Здравствуйте, cruse, Вы писали:
C>Хеш MD5 занимает 16 байт. Делаем глобальную базу данных в интернет хешей всех комбинаций из 160 байт.
C>Алгоритм сжатия: C> Файл разбивается на блоки по 160 байт, для каждого вычисляется хеш и помещается в выходной файл.
C>Алгоритм распаковки: C> Из файла читаются хеши и поиском в глобальной базе данных восстанавливаются блоки данных.
Лучше использовать бит чётности, будет выигрыш в степени сжатия дополнительно в 128 раз по сравнению с MD5 (1 бит против 128).
cruse wrote:
> Хеш MD5 занимает 16 байт. Делаем глобальную базу данных в интернет хешей > всех комбинаций из 160 байт.
Давно такое есть, torrent называется, правда там SHA-хеш
Posted via RSDN NNTP Server 2.1 beta
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
Здравствуйте, cruse, Вы писали:
C>Конечно же однозначного соответствия нет, возможны коллизии. C>Но есть и положительный момент в статье, реализация может быть аппаратной!
О да!
Это безусловно победит коллизии!
Здравствуйте, cruse, Вы писали:
C>Хеш MD5 занимает 16 байт. Делаем глобальную базу данных в интернет хешей всех комбинаций из 160 байт. C>Алгоритм сжатия: C> Файл разбивается на блоки по 160 байт, для каждого вычисляется хеш и помещается в выходной файл. C>Алгоритм распаковки: C> Из файла читаются хеши и поиском в глобальной базе данных восстанавливаются блоки данных. C>Прошу высказать ваше мнение о достоинствах, недостатках и возможных улучшениях алгоритма :)
Здравствуйте, cruse, Вы писали:
C>Конечно же однозначного соответствия нет, возможны коллизии.
C>Но есть и положительный момент в статье, реализация может быть аппаратной!
очуметь.
наша программа дает неверный результат, зато делает это мгновенно.
А еще лучше прочитайте что такое векторное квантования =)
В конце курса по теории информации любой студент который присутствовал на лекциях так и норовит написать подобный архиватор =))
Здравствуйте, cruse, Вы писали:
C>Хеш MD5 занимает 16 байт. Делаем глобальную базу данных в интернет хешей всех комбинаций из 160 байт.
Коллега, вы не находите, что база в 256^160 * 16 ~= 333050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000 Терабайт, это несколько много?
I>Коллега, вы не находите, что база в 256^160 * 16 ~= 333050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 I>0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 I>0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 I>000000000000000000000000000000000000000000000000000000000000000000000000 Терабайт, это несколько много?
А если записи в базу делать только по необходимости? Сжали один блок — получили запись. ))
Разве никто не помнит этого великолепного на мой взгляд анекдота?
Встречаются два программиста:
— Ты чего такой грустный?
— Да вот написал архиватор, который любой файл в 5 байт сжимает.
— Ну и?
— Сейчас над распаковщиком работаю...
Здравствуйте, TarasCo, Вы писали: TC>А если записи в базу делать только по необходимости? Сжали один блок — получили запись. ))
Тогда можно попытаться прикинуть, на сколько терабайт в день будет возрастать объем базы.
C>Хеш MD5 занимает 16 байт. Делаем глобальную базу данных в интернет хешей всех комбинаций из 160 байт. C>Алгоритм сжатия: C> Файл разбивается на блоки по 160 байт, для каждого вычисляется хеш и помещается в выходной файл. C>Алгоритм распаковки: C> Из файла читаются хеши и поиском в глобальной базе данных восстанавливаются блоки данных. C>Прошу высказать ваше мнение о достоинствах, недостатках и возможных улучшениях алгоритма
А еще.. а еще. есть такое замечательное число ПИ. Замечательно оно потому что обладает св-ом трансцендентности. А это означает что само по себе оно содержит в себе все возможные комбинации цифр. Все симфонии моцарта во всех возможных кодировках, все библиотеки, ДНК всех людей... Вопрос лишь в том чтобы найти с какой цифры после запятой идет нужная последовательность, и в том чтобы вычислить число ПИ с такой точностью
Как много веселых ребят, и все делают велосипед...