Skip to content

Projeto de estudo de geração de senha aleatória conforme necessidade

Notifications You must be signed in to change notification settings

Douglasweb/passwordgenerator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Password Generator

Este é um projeto de estudo usando C# Console Application, onde gero uma senha baseado no pedido de número de caracteres(tamanho da senha), escolhendo se nela conterá números, caracteres maiusculos e/ou minusculos e caracteres especiais.

Idéia

O estudo se baseava em gerar a senha conforme o pedido. Porém ao fazer isso, todos os caracteres tinham que ser misturados para não ficar uniforme.

Como foi feito

Primeiramente todos os caracteres permitidos/possíveis eram colocados em variavéis, após isso o sistema percorria o loop até o numero de caractere pedido fosse atingido, pegando um caractere aleatório na seguinte ordem:

  • Caractere minusculo
  • Numero
  • Caractere Especial
  • Caractere maiusculo

Caso o tipo acima fosse pedido, ele irá inserir numa varáivel até atingir o tamanho máximo. Obs: O Caractere Especial foi reduzido para ficar mais "normal" a senha gerada.

Após gerar a senha, é hora de misturá-la.

Aqui pecorro todos os caracteres da senha gerada baseado no tamanho da senha, no qual é armazenada em uma variável(tamanho).

  • Pego um caractere em uma posição aleatória e armazeno numa variável(NumeroRandomico).
  • Pego a posição do caractere aleatório acima e adiciono nele o valor que existe na última posição.
  • Agora inverto, insiro na última posição o valor que ficou na variável(NumeroRandomico).
  • No final, diminuo o tamanho do da senha armazenada na variável(tamanho).

Após isso a senha é mostrada.

GitHub language count Repository size GitHub last commit Repository issues

About

Projeto de estudo de geração de senha aleatória conforme necessidade

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages