Или просто соль добавить, как в случае с шифрованием. Можно фиксированную - и тогда все эти словари автоматом отметаются, но фиксированную соль для каждого приложения надо добавлять свою - а то могут создать словари уже посоленных слов. А можно и веселее - случайную. Тогда, например, если соль занимает 3 байта, то для проверки, совпадает ли какой-нибудь пароль с тем, что хранится в базе, придётся сделать не одно хэширование пароля, а 16 миллионов - со всеми возможными значениями соли. Но опять же, весь этот геморрой волнует только в том не слишком важном случае, если MD5 используется напрямую для снятия хэша с текста, а не с битового потока.
Что любопытно - от протокола, будь то md5, sha1, ripemd, whirlpool - да хоть sha512 - данный механизм "взлома" не зависит, и пригоден для них всех в равной степени. Ибо это не является взломом в нормальном его понимании, а всего лишь оптимизацией по скорости за счёт размера, точь в точь как в кодогенерации. Более того - хоть в случае с прегенерированным словарём это выглядит и эффектно, но при отсутствии слова в базе ускорения подбора не обеспечит. Именно благодаря относительной продуманности криптографических хэш-функций. А в случае, если захэширован битовый поток, вообще смысла не имеет.
Comments (6):
Но опять же, весь этот геморрой волнует только в том не слишком важном случае, если MD5 используется напрямую для снятия хэша с текста, а не с битового потока.
Более того - хоть в случае с прегенерированным словарём это выглядит и эффектно, но при отсутствии слова в базе ускорения подбора не обеспечит. Именно благодаря относительной продуманности криптографических хэш-функций.
А в случае, если захэширован битовый поток, вообще смысла не имеет.
Hi! As usualy i'm using - md5 crack