Базы данных утекают постоянно. В том числе и базы с паролями пользователей.
Современные сервисы не хранят пароли в открытом виде, хотя есть и исключения. Обычно пароли хранятся в хешированном виде. Хеширование - это процесс преобразования строки текста только в одну сторону. То есть зная пароль, всегда можно получить один и тот же хеш, но зная хеш, нельзя получить пароль. Пример хеша, сделанного алгоритмом sha256: строка Привет, Мир! преобразуется в 8717414940713f278a427c2abc95f06cd9db926d9d172e44bf2649512071e261. Примерно в таком виде сервисы и хранят пароли в базах данных. Способ достаточно надежный, чтобы не сильно переживать за утечку такой информации, ведь обратно из хеша пароль восстановить не получится. Один из вариантов - перебор brute force, но это очень ресурсоемкая задача и на подбор пароля могут уйти даже не год-два, а десятилетия.
Но во всех системах безопасности слабое звено - пользователь.
Восстановление паролей по их хешам делается по так называемым радужным таблицам (Rainbow tables). Это таблица с заранее вычесленными (кем-то) хешами. Они как правило содержат хеши словарных паролей: это пароли из простых слов и их комбинации с цифрами и другими популярными символами, а так же наиболее часто используемые пароли.
Создавая пароль по рекомендациям из предыдущего поста, вы делаете его стойким к такого рода атакам.
Не используйте один и тот же пароль больше 1 раза. Утекший пароль из какого-то богом забытого сервиса может поставить под угрозу всю вашу цифровую личность.
Часть 1. Подбор пароля.