APG (Automated Password Generator) реализует все, кроме вашего последнего требования (без слов словаря / имен пользователей / повторяющихся символов). Он включает в себя как произносимые, так и полностью случайные алгоритмы генерации паролей. Произносимые пароли выглядят примерно так:
yevGaijra
clishahopp
jewnAms8
RacMevOm
Duheamch&
raicsant~
Он написан на C и доступен по лицензии, подобной BSD.
Криптографически говоря, я не уверен, что ваше последнее требование действительно ...? Если генерация пароля действительно случайная, то пароль aaaaaaaa
столь же вероятен, как и пароль 6-n&1jIK
, и если ваш злоумышленник знает ваш алгоритм, то запретив пароли, такие как aaaaaaaa
, вы уменьшите число атакующего. пространство поиска.