minlen=8 ucredit=1 dcredit=1 ocredit=0 lcredit=0
Suponho que você queira que suas senhas tenham no mínimo 8 caracteres, contenham pelo menos 1 caractere maiúsculo e 1 dígito. Se sim, não é isso que você configurou.
Para isso você deve usar: minlen=8 ucredit=-1 dcredit=-1
.
Explicação: o algoritmo minlen usa "credits" para determinar o valor do comprimento. Suponha que você tenha uma senha de 6 caracteres. minlength não seria menor que 6. Então, sem usar nenhum dos valores de crédito, você obteria 1 "crédito" para usar caracteres minúsculos, 1 crédito para usar caracteres maiúsculos e assim por diante.
Assim, uma senha de Hello!
tem 6 caracteres, +1 para maiúsculas, +1 para minúsculas, +1 para caracteres especiais para um valor minlen total de 9.
Especificar ucredit=1 dcredit=1 ocredit=0 lcredit=0
, com a mesma senha, dá um comprimento de 6, +1 para maiúsculas, 0 para minúsculas e 0 para caracteres especiais, por um comprimento de 7. Não força o uso de caracteres maiúsculos .
Se você usar um número negativo para os créditos, isso exige que você tenha pelo menos esse número e NÃO use créditos.
Portanto, minlength=8 ucredit=-1 dcredit=-1 ocredit=0 lcredit=0
exigirá que a senha tenha pelo menos oito caracteres, contenha pelo menos um caractere maiúsculo e um dígito.
Assim, uma senha de helloboy
tem 8 caracteres, mas falhará. Hellob0y
passará. He$$ob0y
também passará.