Может ли MD5-хеш начинаться с нуля?А как насчет SHA-1?
Да
$ 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
Я нашел хэш MD5, который начинается с нулевого байта! 2 символа String
Unicode # 7358 # 34823
$returnValue = md5('Ჾ蠇');
результат:
00000000 5e0a51c8 313ffb43 8a3a2861
Конечно. Или два нуля. Или больше. В общем, вероятность случайного хэширования входных данных для результата с k ведущими нулевыми нибблями составляет около 2 ** (- 4k).
Попробуйте использовать строку: jk8ssl
echo md5('jk8ssl')
генерировать:
00000000 18e6137a c2caab16 074784a6
Я еще не нашел лучшего ^^
md5 из a = 0cc175b9c0f1b6a831c399e269772661
<?php echo md5( 'a' ); ?>
Sha1 из i = 042dc4512fa3d391c5170cf3aa61e6a638f84342
<?php echo sha1( 'i' ); ?>
почему нет: D
MD5 хеш "a" = 0cc175b9c0f1b6a831c399e269772661
SHA1 хэш "9" = 0ade7c2cf97f75d009975f4d720d1fa6c19f4897
В криптографическом хэше любой заданный бит должен быть одинаково вероятным равным 0 или 1 для случайных входов.
Этот поток сейчас довольно старый, но здесь есть несколько хэшей с очень высокими и очень низкими значениями для SHA1 и MD5:
https://web.archive.org/web/20171201071711/http://www.crysys.hu/hashgame/allrecord.php
Один из них имеет 7 байтов ведущихнули.