« Отговор #9 -: Feb 05, 2007, 21:14 »
Хеш-алгоритмите са еднопосочни, но това не означава, че не можеш да генерираш хешове на определено множество стрингове и да ги сравняваш. Може да е бавно, но пък от друга страна има готови бази с хешове, които улесняват нещата.
Това което доста усложнява crack-ването е т.наречения salt, който представлява още един стринг, от който се приготвя крайния резултат (хеша). Това обезсмисля ползването на готови такива бази, защото вариантите нарастват с порядък възможните salt стрингове. Този метод се използва при shadow файловете в линукс и в резултат на което dictionary атаките им се превръщат в почти невъзможен, а bruteforce-ването - в мъчителен процес. За съжаление, при уеб-приложенията съм забелязал че е по-скоро рядкост тази практика.
Иначе на теория, няма криптиращ алгоритъм, който да не може да се разбие, въпросът е колко време и ресурси ще отнеме това. Това обаче е много добре известен факт.