1. Применяют (кажется даже в vbulletin) такую вещь. При заведении нового пользователя и получении от него пароля, его хэшируют md5, затем генерят короткую (3 байта вроде) случайную строку, вносят ее в БД в параметрах пользователя и хэшируют предыдущий хэш с этой строкой (называется salt, "приправа") (например, ф-цией crypt), и это дело уже пишут в базу. Когда юзер логонится, его пароль хэшируют (нередко еще на уровне клиента, чтобы пароль не ходил по сети в чистом виде), берут по имени из БД salt и так далее. Для чего это нужно. Если некто наделает хэшей стандартным md5 для десятка миллионов простых паролей (и поместит их в БД), то получив хэш пароля он быстро sql запросом получит соответствующую строку. Здесь же придется crypt все эти пароли с salt вытащенного пользователя, что ресурсоемко. То же касается простого поиска перебором (без готовой базы хэшей), трудоемкость удваивается.
2. Вероятность того, что при переборе коротких паролей мы найдем такой, хэш корого совпадет с хэшем данного "трудного" пароля, и он сработает как ключик, при этом им не являясь, я полагаю, ничтожна. Гораздо больше вероятность того, что данной строке в 5 байтов эквивалентна строка длиной 200 байтов, еще одна 4312 байтов и т.д.
Экспериментальными подтверждениями не располагаю
3. md5 inside ищет пароль путем перебора, т.е. генерит строки, хэширует их и сравнивает с вскрываемой. Защищаться от этого можно только одним способом: задавать длинный и сложный пароль. Пароль wwwwwww будет взломан моментально, потому что именно подобные строки проверяются в первую очередь.
4. Лично я использую для паролей такой алгоритм: придумываю русское слово, желательно посмешнее, желательно ненастоящее (например, слово "хмырьище"=[vshmbot), и ввожу его в англ. раскладке, меняя регистр. Запомнить просто, результирующая строка как правило достаточно безумна. Большинство программ взлома не ориентированы на русскоязычное мышление
5. Всегда можно "изменить" исходную программу, изменив ручками процедуру шифрования (как правило, просто какая-либо математика), желательно при этом добиться удлинения хэша. Конечно, это создает определенные проблемы при апгрейдах софта, и это "неправильный" путь, но он результативен. Так или иначе, он сделает использование данного хэша для программ сорта md5 inside невозможным в принципе. Для эффективного взлома необходимо будет также узнать упомянутую математику, а доступ к файлам серверного софта у взломщика есть далеко не всегда (да еще, например, пожатого zend-ом). В 95% случаев взломщики малоквалифицированы, начитались Хакера, подловили нерадивого админа на необновлении софта и заполучили голую БД. Конечно, бывает, получают полный доступ, носредства побороться есть всегда. Просто это все трудоемко.
6. Тот, кто придумал себе пароль love, сам виноват!