Автор Полковник Думбадзе задал вопрос в разделе Другие языки и технологии
Алгоритм MD5 и получил лучший ответ
Ответ от Felix[активный]
Сложный вопрос для начала
Ответ от Алексей Кузьминов[гуру]
Алгоритм MD5 описан в ссылка. Там же есть его реализация на С.
Специально для вас:
ABCD - единое 128-битное число (32*4 = 128). Это слово инициализируется на старте, потом вычисляется ABCD=шаг (ABCD, <512-битный кусочег файла>) до тех пор пока файл не кончится (последний кусочег модифицирован и содержит длину файла) .
Последнее вычисленное число ABCD мы называем MD5 файла.
Почему это слово разрезали на 4 части? Так написали алгоритм для 32-битных регистров. Можно было не резать, или резать на два 64-битных числа. Но тогда алгоритм был бы другой. Не нравится - составляйте свой, только функция шаг () ОБЯЗАНА возвращать то же, что и в стандартной реализации.
"Чем инициализировать? " В RFC написано чем, на это были свои соображения. В общем без разницы, но это не будет уже MD5.
"Не хватит бита и что тогда? " Следовать алгоритму, не вы его придумали - не вам его менять.
ЗЫ
MD5 придумали, когда MD4 был взломан. И поскольку не вели MD6, он достаточно надёжен.
Если вы в MD5 что-то меняете, доверия к такому алгоритму уже нет.
Алгоритм MD5 описан в ссылка. Там же есть его реализация на С.
Специально для вас:
ABCD - единое 128-битное число (32*4 = 128). Это слово инициализируется на старте, потом вычисляется ABCD=шаг (ABCD, <512-битный кусочег файла>) до тех пор пока файл не кончится (последний кусочег модифицирован и содержит длину файла) .
Последнее вычисленное число ABCD мы называем MD5 файла.
Почему это слово разрезали на 4 части? Так написали алгоритм для 32-битных регистров. Можно было не резать, или резать на два 64-битных числа. Но тогда алгоритм был бы другой. Не нравится - составляйте свой, только функция шаг () ОБЯЗАНА возвращать то же, что и в стандартной реализации.
"Чем инициализировать? " В RFC написано чем, на это были свои соображения. В общем без разницы, но это не будет уже MD5.
"Не хватит бита и что тогда? " Следовать алгоритму, не вы его придумали - не вам его менять.
ЗЫ
MD5 придумали, когда MD4 был взломан. И поскольку не вели MD6, он достаточно надёжен.
Если вы в MD5 что-то меняете, доверия к такому алгоритму уже нет.
Ответ от Metotron[гуру]
Если я правильно понимаю, то эти числа должны представлять собой "простое число", то есть полином, который ни на что больше не делится. Обычно при вычислении контрольных сумм поступают именно так. В частности, для CRC даже вариантов не особо много такой разрядности.
Если я правильно понимаю, то эти числа должны представлять собой "простое число", то есть полином, который ни на что больше не делится. Обычно при вычислении контрольных сумм поступают именно так. В частности, для CRC даже вариантов не особо много такой разрядности.
Ответ от ?????? ????r?????u[гуру]
хрен знает, я вызываю $str=md5($str) и мне хвататет
хрен знает, я вызываю $str=md5($str) и мне хвататет
Ответ от Kaiu[гуру]
Почитай википедию. Не вникал в тонкости реализации, но алгоритм строгий и числа конкретно указаны, а если они будут другие, то результат будет тоже другой. Потому строго следуй реализации, да и для каждого языка есть уже готовый код, че изобретать велосипед?
Почитай википедию. Не вникал в тонкости реализации, но алгоритм строгий и числа конкретно указаны, а если они будут другие, то результат будет тоже другой. Потому строго следуй реализации, да и для каждого языка есть уже готовый код, че изобретать велосипед?
Ответ от 3 ответа[гуру]
Привет! Вот подборка тем с ответами на Ваш вопрос: Алгоритм MD5
Как в Exel сделать генератор случайных букв и случайных цифр в одной ячейке?
делайте так
=ОКРУГЛ ((СЛЧИС ()*9);0)&СИМВОЛ (СЛУЧМЕЖДУ (65;90))
Алексей
подробнее...
спросили в Ppt Файлы Digimon
Как перевести файлы формата HTML в формат PDF,или другой но чоб читался?
All Office Converter Platinum 6.4 Rus
All Office Converter Platinum - простой в
подробнее...
Как перевести файлы формата HTML в формат PDF,или другой но чоб читался?
All Office Converter Platinum 6.4 Rus
All Office Converter Platinum - простой в
подробнее...
спросили в Железо
Качество блоков питания Ezcool. Стоит ли брать?
имхо я бы лучше брал бы : "рапрокс","термалтейк!, "залман","корсар","хайпер","фсп","чифтек" это
подробнее...
Качество блоков питания Ezcool. Стоит ли брать?
имхо я бы лучше брал бы : "рапрокс","термалтейк!, "залман","корсар","хайпер","фсп","чифтек" это
подробнее...