Лучшая реализация защиты паролей гибких рельсов [закрыто]
Мне нужно реализовать защиту паролем с различными гибкими требованиями. Требования по существу взяты изПолитика паролей Sans:
Надежные пароли имеют следующие характеристики:
Содержат как минимум три из пяти следующих классов персонажей:
Строчные буквыПрописные символычиселпунктуация«Специальные» символы (например, @ # $% ^ & * () _ + | ~ - = `{} []:"; '<> / и т. Д.)Содержать не менее пятнадцати буквенно-цифровых символов.Существуют также требования не допускать, чтобы адрес электронной почты пользователя отображался в пароле.
В идеале я хотел бы, чтобы камень справился с этим - он был бы более широко протестирован и использован, и у нас было бы меньше шансов получить ошибки.
Если ни один драгоценный камень не покрывает это, то каков наилучший и наиболее надежный метод для удовлетворения этих требований? В идеале мы могли бы сказать, что мы не только безопасны, но и безопасны, потому что у нас есть реализация отраслевого стандарта.
Драгоценные камни, которые я нашел до сих пор:
Разработайте расширения безопасности, который имеет очень простое регулярное выражение для проверки наличия прописных, строчных и цифра также
Надежный пароль, который выглядит просто, чтобы обеспечить проверку энтропии, чтобы сообщить пользователю, если его пароль надежный.(Мы используем Rails 3.2.17 и Ruby 1.9.3, но планируем в скором времени перейти на Rails 4 и Ruby 2, поэтому приветствуются и новые решения).