Pergunta  
 
Rede de conhecimento computador >> Pergunta >> senhas >> Content
A senha deve ser de 6 e 10 caracteres numéricos alfa?
Ok, aqui estão algumas maneiras de interpretar e implementar esse requisito de senha, juntamente com as explicações:

Entendendo os requisitos

* 6 e 10 caracteres: Isso significa que o comprimento da senha deve estar * entre * 6 e 10 caracteres, inclusive. Portanto, 6, 7, 8, 9 ou 10 caracteres são comprimentos válidos.
* alfanumérico: Isso significa que a senha pode conter apenas letras (A-Z, A-Z) e números (0-9). Não são permitidos caracteres especiais (como!, @, #, $, %, Etc.).

Expressão regular (regex) para validação

Uma expressão regular é uma maneira poderosa de definir um padrão para o texto. Aqui está um regex que atende aos seus requisitos:

`` `regex
^[A-ZA-Z0-9] {6,10} $
`` `

Explicação do Regex:

* `^`:Corresponde ao início da string.
* `[A-ZA-Z0-9]`:corresponde a qualquer letra em alta (A-Z), letra minúscula (A-Z) ou dígito (0-9).
* `{6,10}`:corresponde ao caractere anterior (o caractere alfanumérico) entre 6 e 10 vezes (inclusive).
* `$`:Corresponde ao final da string.

Código de exemplo (JavaScript)

`` `JavaScript
função isValidPassword (senha) {
const regex =/^[a-za-z0-9] {6,10} $ /;
return regex.test (senha);
}

// exemplos
console.log (isValidPassword ("p@ssword")); // Falso (personagem especial)
console.log (isValidPassword ("pass1")); // falso (muito curto)
console.log (isValidPassword ("senha12345")); // falso (muito longo)
console.log (isValidPassword ("pass12")); // verdadeiro
console.log (isValidPassword ("senha12")); // verdadeiro
console.log (isValidPassword ("p12345678"); // verdadeiro
console.log (isValidPassword ("senha")); // verdadeiro
`` `

Explicação do código JavaScript:

1. `isValidPassword (senha)` função: Esta função leva a sequência de senha como entrada.
2. `const regex =/^[a-za-z0-9] {6,10} $/;`: Esta linha define a expressão regular (como explicado acima).
3. `return regex.test (senha);`: Esta é a linha -chave. O método `regex.test (senha)` verifica se a string `senha` corresponde ao padrão` regex`. Ele retorna `true` se corresponder e` falso`, caso contrário.

Outras considerações e práticas recomendadas

* Segurança: Embora isso aplique os requisitos básicos, geralmente é recomendável adicionar mais complexidade às senhas para obter uma melhor segurança. Considere exigir pelo menos uma letra em maiúsculas, uma letra minúscula e um número.

* Mensagens de erro: Forneça mensagens de erro claras e úteis ao usuário se a senha não atender aos requisitos. Por exemplo:
* "A senha deve estar entre 6 e 10 caracteres".
* "A senha deve conter apenas letras e números".

* hash: * Nunca* armazene as senhas em texto simples. Sempre os hash usando um forte algoritmo de hash (como BCRYPT, ARGON2 ou SCRYPT) antes de armazená -los no seu banco de dados. Isso protege as senhas, mesmo que seu banco de dados esteja comprometido.

* salga: Sempre use um sal exclusivo e gerado aleatoriamente para cada senha antes do hash. Isso torna muito mais difícil para os invasores usar mesas pré-computadas de hashes de senha comuns (tabelas de arco-íris).

* medidores de força de senha: Considere usar um medidor de força de senha para dar aos usuários feedback sobre a segurança da senha escolhida. As bibliotecas estão disponíveis para muitas linguagens de programação.

JavaScript modificado com recomendações mais fortes (mais seguras)

Este exemplo inclui um regex mais complexo e o início de um melhor processo de criação e armazenamento de senha. Observe que, para um sistema real, você usaria um idioma * do lado do servidor * para hash e salga, não o JavaScript do lado do cliente. Isso é apenas para ilustração.

`` `JavaScript
função isvalidstrongpassword (senha) {
// requer 6 a 10 caracteres, pelo menos uma maiúsculas, uma minúscula, um número
const regex =/^(?
return regex.test (senha);
}

// demonstrando hash de senha (nunca faça esse lado do cliente em código real!)
função hashpassword (senha, sal) {
// No aplicativo real, use uma linguagem lateral do servidor (node.js, python, php etc.)
// com uma biblioteca BCRYPT/ARGON2/SCRYPT para realizar hash e salga adequados

// Aviso:o BTOA e o TextEncoder do JavaScript não se destinam ao hash de senha segura!
// Este é apenas para exemplo ilustrativo.
const SaltedPassword =sal + senha; // sal a senha
const codedpassword =new textEncoder (). Encode (saldaspPordword);
const hashbuffer =array.from (codedpassword)
.map (byte => byte.toString (16) .padstart (2, '0')) // converter em string hexadecimal
.juntar('');
retornar hashbuffer;
}

função generatesalt () {
// No aplicativo real, use um CSPRNG para criar uma string aleatória longa.
retornar math.Random (). ToString (36) .Substring (2, 15) + Math.Random (). ToString (36) .Substring (2, 15);
}

// Exemplos de senhas mais fortes
console.log (isValidSTrongPassword ("p@ssword")); // Falso (personagem especial)
console.log (isValidSTrongPassword ("pass1")); // falso (muito curto)
console.log (isValidSTrongPassword ("senha12345")); // falso (muito longo)
console.log (isValidStrongPassword ("pass12")); // Falso (falta de maiúsculas)
console.log (isValidStrongPassword ("senha12")); // verdadeiro
console.log (isValidStrongPassword ("p12345678"); // FALSO (faltando minúscula)
console.log (isValidSTrongPassword ("senha")); // Falso (falta de maiúsculas e número)
console.log (isvalidstrongpassword ("p@ssword12")); // Falso (personagem especial)

// demonstrando "hashing" (apenas um exemplo muito inseguro)
const senha ="mySecretPassword123";
const sal =generatesalt ();
const hashedPassword =hashpassword (senha, sal);

console.log ("Senha de texto simples:", senha);
console.log ("sal:", sal);
console.log ("insegure \" hashed \ "senha:", hashedpassword);

`` `

Melhorias importantes no exemplo "mais forte":

* REGEX mais forte:
* `(? =.* [a-z])`:afirmação positiva de loteahead que requer pelo menos uma letra minúscula.
* `(? =.* [A-z])`:afirmação positiva de loteahead que requer pelo menos uma carta em maiúsculas.
* `(? =.* \ d)`:afirmação positiva de loteahead que requer pelo menos um dígito.
* Aviso de hash do lado do cliente: O código JavaScript inclui um grande aviso. * Nunca* execute hash de senha no JavaScript do lado do cliente em um aplicativo real! É inerentemente inseguro porque o código é visível para o usuário e não pode proteger contra vários ataques. A função "hash" é apenas para demonstrar a * idéia * de salga e hash; Não é uma implementação segura.
* geração de sal: O exemplo cria um sal básico. Em um sistema real, você usaria um gerador de números pseudo-aleatórios criptograficamente seguro (CSPRNG) para gerar um sal forte e imprevisível.

Em resumo, use o regex mais simples para validar o comprimento e o caráter alfanumérico, mas sempre lembre -se de hash e salgar a senha no lado do servidor com um método criptograficamente seguro.

Anterior :

Próximo :
  Os artigos relacionados
·Como acessar a senha de administrador perdida 
·Como redefinir sua senha MySpace 
·Como usar uma senha para fazer um arquivo privado em XP…
·Como alterar a senha de administrador esquecida 
·Endereço e número de fax para verificar os benefício…
·Como redefinir a senha mestra em um Laptop 595B 
·Recuperação Livre de perder uma senha 
·Como coloco a senha no meu USB? 
·Como Recuperar uma Cisco PIX 501 Senha 
·Como alterar sua senha no Moparscape 
  Artigos em destaque
·Como usar seu computador PC ou laptop como roteador sem…
·Quais são as funções de Aiveoli ou Airsacs? 
·Como baixar SCRUFF para PC 
·Como Incorporar um JFrame em JSP 
·O que é ATA Speed ​​Classing? 
·Como fazer espaço na unidade C 
·Como corrigir problema de carregamento e login do Free …
·Como você verifica as especificações do meu PC? 
·Como criar uma outra partição Do Drive C 
·Posso Excluir arquivos com extensões TMP 
Cop e direita © Rede de conhecimento computador https://ptcomputador.com Todos os Direitos Reservados