Pergunta  
 
Rede de conhecimento computador >> Pergunta >> senhas >> Content
A senha deve ser alfanumérica com um personagem especial com mínimo de 8 caracteres?
`` `regex
^(? =.*[a-za-z]) (? =.*\ d) (? =.*[!@#$%^&*() ,.? ":{} | <> \ -_+=\\` ~; ']). {8,} $
`` `

Explicação:

* `^`:Corresponde ao início da string.
* `(? =.* [a-za-z])`:afirmação positiva de loteahead que requer pelo menos uma letra (A-Z ou A-Z).
* `(? =.* \ d)`:afirmação positiva de loteahead que requer pelo menos um dígito (0-9).
*`(? =.*[!@#$%^&*(),. Escape de caracteres especiais dentro da classe de caracteres (por exemplo, `` `e` ``).
* `. {8,}`:corresponde a qualquer caractere (exceto newline) pelo menos 8 vezes. Isso garante o comprimento mínimo.
* `$`:Corresponde ao final da string.

Como usá -lo em diferentes contextos:

* javascript:

`` `JavaScript
const passwordRegex =/^(?=.**-ZA-Z ])(?
const senha ="myp@ssword123";
const isValid =senhaRegex.test (senha);
console.log (isValid); // saída:true

const invalidpassword ="Short1!";
const isInValid =senhaRegex.test (invalidpassword);
console.log (isInValid); // saída:false
`` `

* python:

`` `Python
importar re

Password_regex =r "^(? =.*[a-za-z]) (? =.*\ d) (? =.*[!@#$%^&*() ,.? \":{} | <> \ -_+=\\ `; ']). {8,} $"
senha ="myp@ssword123"
is_valid =re.match (senha_regex, senha)
Imprimir (bool (is_valid)) # saída:true

invalid_password ="curto1!"
is_invalid =re.match (senha_regex, invalid_password)
Imprimir (bool (is_invalid)) # saída:false
`` `

* java:

`` `Java
importar java.util.regex.matcher;
importar java.util.regex.pattern;

classe pública PasswordValidator {
public static void main (string [] args) {
String senha-segex ="^(? =.*[A-za-z]) (? =.
String senha ="myp@ssword123";

Padrão padrão =padrão.compile (senhaRegex);
Matcher Matchaer =Pattern.Matcher (Senha);

System.out.println (matcher.matches ()); // saída:true

String invalidpassword ="short1!";
matcher =Pattern.Matcher (invalidPassword);
System.out.println (matcher.matches ()); // saída:false
}
}
`` `

Considerações e personalização importantes:

* caracteres especiais: A parte mais crítica é definir os caracteres especiais permitidos. O `[!@#$%^&*() ,.?":{} | <> \ -_+=\\ `~; ']` parte do regex define quais caracteres são considerados "especiais". Examine e modifique cuidadosamente isso para atender aos seus requisitos específicos. Lembre-se de escapar de caracteres regex especiais.
* Conjuntos de caracteres:
* `[a-za-z]`:corresponde a qualquer letra em maiúsculas ou minúsculas. Você pode restringir isso apenas a letras minúsculas ou apenas maiúsculas, se necessário.
* `\ d`:corresponde a qualquer dígito (0-9).
* Comprimento mínimo: A parte `{8,}` especifica um comprimento mínimo de 8 caracteres. Altere o `8 'para ajustar o comprimento mínimo. Se você também deseja um comprimento máximo, pode especificar assim:`{8,16}` por um mínimo de 8 e um máximo de 16 caracteres.
* Requisitos de complexidade : Você pode adicionar mais requisitos de complexidade adicionando mais afirmações LookaHead. Por exemplo, você pode exigir pelo menos dois dígitos com `(? =.*\ D.*? \ D)`.
* Práticas recomendadas de segurança: Embora isso regex aplique um nível básico de complexidade, é crucial entender que Regex sozinho não é uma solução de segurança completa. Considere estas melhores práticas:
* sal e hash: Nunca armazene as senhas em texto simples. Sempre use um forte algoritmo de hash (como Argon2, BCRYPT ou SCRYPT) com um sal exclusivo para cada senha.
* medidores de força de senha: Use um medidor de força de senha para fornecer feedback em tempo real aos usuários enquanto eles digitam sua senha.
* auditorias de segurança regulares: Revise regularmente suas políticas de senha e práticas de segurança.
* Limitação da taxa: Implementar a limitação da taxa de login para evitar ataques de força bruta.

Exemplo:permitindo apenas os seguintes caracteres especiais:`!@#$%^&*`

O regex se tornaria:

`` `regex
^(? =.*[a-za-z]) (? =.*\ d) (? =.*[!@#$%^&*]). {8,} $
`` `

Exemplo:exigindo pelo menos dois dígitos:

`` `regex
^(? =.*[A-ZA-Z]) (? =.*\ d
`` `

Esta versão adiciona `(? =.*\ D.*? \ D)`, que requer pelo menos dois dígitos, com algum caractere entre permitido por `.*?`.

Escolha o regex que melhor se encaixa na sua * Política de senha específica e lembre -se de priorizar as melhores práticas de segurança. Sempre teste o Regex completamente com uma variedade de senhas válidas e inválidas.

Anterior :

Próximo :
  Os artigos relacionados
·Alguém pode lhe dar o e -mail e a senha do PayPal? 
·Como redefinir uma senha de administrador local no Wind…
·Como usar um disco de redefinição de senha 
·Como faço para redefinir meu ID de usuário e senha? 
·O que significa senha do Comfirm? 
·As pessoas podem ver suas tentativas de descobrir sua s…
·Quando um usuário faz login no sistema como a verifica…
·Qual é a senha do ITOUCH para comprar coisas? 
·Como Fazer logon em um computador sem uma senha 
·Como adicionar senha a um arquivo PDF no iPhone e iPad 
  Artigos em destaque
·Como restaurar o meu computador de volta ao status de O…
·Como converter um arquivo M4R para um arquivo WAV 
·Como remover J2SE Runtime Environment 5.0 
·Como assistir Hulu na Smart TV 
·Msjet35.dll não é encontrado 
·Como desativar uma conta de administrador e senha 
·Meu monitor não vou entrar em modo de economia de ener…
·Como redefinir habilidades no Diablo 4 
·Como solucionar problemas de um cartão CAC 
·Como bloquear chamadas no OnePlus 6 
Cop e direita © Rede de conhecimento computador https://ptcomputador.com Todos os Direitos Reservados