Выполните подобный запрос у себя по таблице пользователей (пароль хранится в sha1):
Если у вас большая компания с частой обязательной сменой пароля учетных записей, пройдитесь по отделам, загляните на мониторы, (под) клавиатуры, столы. Что же вы увидите? У многих можно найти стикеры с паролями в открытом виде.
Есть несколько вариантов, как с этим бороться:
Я отброшу 1 и 3 вариант и расскажу о генерации сложных паролей, но легких для запоминания.
Алгоритм прост и состоит всего лишь из одного действия — генерации фразы для запоминания. Я выбрал фразу такой схемы: прилагательное — существительное — глагол — существительное. Например: «рьяный всплеск настрогает неоглобализм» или «именитый слюнтяй подсчитает молескин».
Далее, вы отдаете пользователю фразу и описываете пару простых действий для создания пароля, например:
Ура, мы добились своего. Даже если пользователь распечатает фразу, подобрать пароль будет сложно, ведь действий можно придумать очень много:
И еще много чего можно придумать. А реализовывается все за пару часов, причем самое основное — найти словари (я распарсил словарь Ожегова).
SELECT password, count( * ) FROM sys_users WHERE password = SHA1( '12345678' ) GROUP BY password HAVING count( * ) >1
У меня на данный момент из 476 пользователей 13 с паролем «12345678».Если у вас большая компания с частой обязательной сменой пароля учетных записей, пройдитесь по отделам, загляните на мониторы, (под) клавиатуры, столы. Что же вы увидите? У многих можно найти стикеры с паролями в открытом виде.
Что же делать?
Есть несколько вариантов, как с этим бороться:
- сделать проверку пароля на сложность при смене/создании;
- генерировать пароли самим [и не давать их менять];
- оставить все как есть и не нервничать.
Я отброшу 1 и 3 вариант и расскажу о генерации сложных паролей, но легких для запоминания.
Алгоритм прост и состоит всего лишь из одного действия — генерации фразы для запоминания. Я выбрал фразу такой схемы: прилагательное — существительное — глагол — существительное. Например: «рьяный всплеск настрогает неоглобализм» или «именитый слюнтяй подсчитает молескин».
Далее, вы отдаете пользователю фразу и описываете пару простых действий для создания пароля, например:
- вводить первые три буквы каждого слова на английской раскладке;
- вводить первые три буквы каждого слова на английской раскладке, между словами ставить любимую цифру;
Ура, мы добились своего. Даже если пользователь распечатает фразу, подобрать пароль будет сложно, ведь действий можно придумать очень много:
- у нечетных слов буквы вводить в верхнем регистре;
- между словами кроме цифр, вставлять спец. символы;
- чередовать строчные и заглавные буквы;
- от первого слова брать первую букву, от второго две первые, от третьего три первые, от четвертого четыре первые.
И еще много чего можно придумать. А реализовывается все за пару часов, причем самое основное — найти словари (я распарсил словарь Ожегова).