Хеширование (иногда хэширование, англ. hashing) — преобразование входного массива данных произвольной длины в выходную битовую строку фиксированной длины. Такие преобразования также называются хеш-функциями или функциями свёртки, а их результаты называют хешем, хеш-кодом или дайджестом сообщения (англ. message digest).http://ru.wikipedia.org
Короче с первого раза не понял
Объясняю из области знаний, которые ближе к телу.
Сперва объясняю что такое хеширование :)
Вот представь, что приходит к тебе пациентка, а ты говоришь так резко сразу - "А как тебя зовут? А покажь ка сиськи!" . Меришь размер правой и левой, перемножает друг на друга и сразу берешь папку под получившимся номером. Для этого нужно чтоб все папки были бы одинаковой толщины и стояли в ряд - ты просто отмеришь сколько надо и вытащищь сразу нужную, не заглядываю в другие вообще.
Если бы вы все папки по очереди просматривал бы - это был бы последовательный поиск. Если бы истории были бы отсотрированы по имени пациента -- отрывал папку спева поверединке, смотрел имя в правой части папок или в левой, делиил бы их количество пополам и повторял бы поиск -- это был бы бинарный поиск.
А тут у нас hashing - ты сразу знаешь в какой папке искать. Но поскольку размер сисек может совпадать у нескольких пациенток -- тогда происходит "конфликт" -- и ты уже смотришь по имени, которая из них.
Теперь контрольные суммы.
Приходит пациентка, говорит -- "Я Вормиздухт". А ты так сразу - 'Покажь сиськи!", меришь, перемножаешь, сверяешься по бумажке. А у тебя под этим чилом никакой Вормиздухт и нету. Ты ей и говоришь - "Никакая ты не Вормиздухт".
Вот как-то так :)
PS. Хрен ты это объяснение забудешь :) :P
Для создания MD5 и SHA1 контрольных сумм используется утилита md5sum и sha1sum соответственно. Данные утилиты идут в комплекте подавляющего большинства дистрибутивов Linux.
Пример создания контрольной суммы:md5sum [опции] [файл]... md5sum [опции] --check [файл]
Создание контрольных сумм:
Проверка контрольных сумм:
- -b, --binary — читать данные файлов в двоичном режиме.(по умлочанию для DOS/Windows)
- -c, --check — сверять вычисленные значения MD5 со значениями из файла
- -t, --text — читать данные файлов в текстовом режиме (по умолчанию)
Разное:
- --status — выводить только код проверки
- -w, --warn — предупреждать о контрольных строках с неправильным форматом
- -version — информация о версии
Снимаем MD5 с файла ubuntu-8.04-desktop-i386.iso
Код:
$ md5sum ubuntu-8.04-desktop-i386.iso
Код:
8895167a794c5d8dedcc312fc62f1f1f ubuntu-8.04-desktop-i386.iso
Утилита sha1sum имеет идентичный синтаксис, как у md5sum
Создание MD5 и SHA1 хешей для Windows:
Пусть мы хотим узнать контрольную сумму файла 1111.png. Для этого жмем правую кнопку мыши на этот файл, и выбираем "Свойства" (последнее меню в списке). А там уже выбираем вкладку контрольные суммы. Программа автоматически запустит проверку.
md5deep
md5deep
- набор свободных (GPL v2) утилит, на все случаи жизни, для создания и
проверки MD5(md5deep), SHA-1(sha1deep), SHA-256(sha256deep),
Tiger(tigerdeep) и Whirlpool(whirlpooldeep) контрольных сумм. В
настоящий момент данный пакет имеет поддержку и портирован на следущие
платформы: - Microsoft Windows (Vista, XP, 2003, 2000, NT)
- Cygwin порты
- Linux
- FreeBSD, OpenBSD и NetBSD
- Mac OS X
- Solaris/OpenSolaris
- HP/UX
Более подробную информацию можно прочесть в readme или узнать так:
Код:
$ md5deep -h
Комментариев нет:
Отправить комментарий