Como você deve saber, os hackers estão por toda parte e querem invadir tudo. Você foi solicitado a criar requisitos de senha que impedirão qualquer hacker . O problema é que o seu chefe ouviu que pagar pelo LOC é ruim e ele paga entre US $ 1800 e US $ 0,03 * caracteres inseridos por mês para fazer você escrever a coisa mais simples possível. Portanto, você deve usar um pequeno número de caracteres (provavelmente muito pequeno) ou esquecer o dinheiro. Além disso, seu chefe não se importa com o idioma que você usará.
Os requisitos para boas senhas são semelhantes aos do artigo mencionado, exceto que os requisitos baseados em dicionário foram removidos para evitar que a solução dependa de arquivos externos, você não precisa verificar se as letras estão sendo reorganizadas (Difícil entender o que realmente significa), a última regra é removida (O que é 3/4?) e não verifica senhas antigas.
Os requisitos exatos após a remoção de determinados requisitos do artigo vinculado são:
- tenha pelo menos 8 caracteres!
- não deve ter mais de 12 caracteres!
- ter caracteres maiúsculos e minúsculos!
- não tenha mais que 8 letras maiúsculas!
- não tenha mais que 8 letras minúsculas!
- tenha pelo menos 2 letra (s)!
- tenha uma letra principal!
- tenha pelo menos 1 dígito (s)!
- não seja seu nome de usuário!
- não seja seu nome de usuário para trás!
- não contém seu nome de usuário!
- não contém seu nome de usuário para trás!
- não tenha mais que 1 par (es) de caracteres repetidos!
- não tem 3 ocorrências do mesmo personagem!
- não contém quilates (^)
- não contém espaço
- não contém =
- não conatain &
- Não contém #
- Não contém ,
- não conatain ;
- Não contém "
- não contém>
- não contém <
- Não contém [
- não contém |
- Não contém )
Todos os erros ortográficos nesta lista foram deixados como estão.
$ ./checkpass
Username: John
Password: L!]E2m69
OK.
$ ./checkpass
Username: John
Password: JohnnhoJ12
Nope.
$ ./checkpass
Username: JOE.smith
Password: JOE!smith123
OK.
O código mais curto ganha dinheiro (enviado como arquivo JPG). Ele deve mostrar "Nome de usuário:" e "Senha:" solicita e responde com a mensagem exata.
1
(dígito um) em vez de ell.