Может ли хэш MD5 начинаться с нуля?

Может ли хэш MD5 начинаться с нуля? А как же ША-1?


person Rygu    schedule 05.07.2010    source источник
comment
Более интересным вопросом была бы проблема, с которой вы столкнулись, которая заставила вас задать этот вопрос в первую очередь.   -  person    schedule 07.01.2012
comment
Я не уверен, что вы все еще здесь, но могу ли я спросить, почему вы спрашивали о том, может ли он начинаться с 0? Я столкнулся с проблемой, когда хеш, кажется, отбрасывает ведущие результаты 0 и добавляет F в конец: S   -  person Chris Owens    schedule 15.02.2012
comment
Просто столкнулся с этим вопросом, так как мой менеджер попросил меня предоставить тестовый пример хеш-значения, содержащего нулевой байт.   -  person neuront    schedule 07.06.2017


Ответы (8)


Да:

$ echo -n "363" | md5sum
00411460f7c92d2124a67ea0f4cb5f85  -
$ echo -n "351" | sha1sum
0026476a20bfbd08714155bb66f0b4feb2d25c1c

Найдено, запустив в bash следующее:

for i in  {1..1000} ; do echo $(echo -n $i | md5sum) $i ; done | sort | head
person Joey Adams    schedule 05.07.2010

Я нашел хэш MD5, который начинается с нулевого байта!
Строка из 2 символов

Юникод #7358 #34823

$returnValue = md5('Ჾ蠇');

результат:

00000000 5e0a51c8 313ffb43 8a3a2861
person oliholz    schedule 05.08.2011

Попробуйте со строкой: jk8ssl

echo md5('jk8ssl')

генерировать:

00000000 18e6137a c2caab16 074784a6

лучше пока не нашел ^^

person delta14    schedule 11.10.2011
comment
вы нашли лучше? - person oliholz; 09.01.2014
comment
Престижность за обнаружение буквенно-цифровой строки. Очень приятно. - person HughHughTeotl; 08.02.2017

Конечно. Или два нуля. Или больше. Как правило, вероятность "случайного" хеширования входных данных с результатом k ведущих нулевых полубайтов составляет около 2-4k.

person President James K. Polk    schedule 05.07.2010

Хэш MD5 "a" = 0cc175b9c0f1b6a831c399e269772661

Хэш SHA1 "9" = 0ade7c2cf97f75d009975f4d720d1fa6c19f4897

person nebkat    schedule 05.07.2010

md5 of a = 0cc175b9c0f1b6a831c399e269772661

<?php echo md5( 'a' ); ?>

Sha1 из i = 042dc4512fa3d391c5170cf3aa61e6a638f84342

<?php echo sha1( 'i' ); ?>

почему бы и нет :D

person ahmet2106    schedule 05.07.2010

В криптографическом хеше любой заданный бит должен с равной вероятностью быть 0 или 1 для случайных входных данных.

person Chris    schedule 05.07.2010
comment
Но разве не существуют определенные форматы вывода, связанные с алгоритмом хеширования? Например. Расширенный формат DES начинается и заканчивается символом подчеркивания. - person Lèse majesté; 05.07.2010
comment
Конечно, но это не часть самого хеша, это просто разметка. - person Chris; 05.07.2010

Этот поток уже довольно старый, но здесь есть несколько хэшей с очень высокими и очень низкими значениями для SHA1 и MD5:

https://web.archive.org/web/20171201071711/http://www.crysys.hu/hashgame/allrecord.php

Один из них имеет 7 байт ведущих нулей.

person Iain Ballard    schedule 29.03.2016
comment
Эта ссылка возвращает 404 - person Jan Černý; 29.07.2018
comment
Спасибо. Переключили ссылку на машину обратного пути - person Iain Ballard; 06.08.2018