A segurança é uma das partes mais importantes de nossas vidas. A importância da segurança está aumentando dia a dia, pois a maioria das coisas está online. As senhas vêm à tona quando falamos sobre segurança.
Neste artigo, criaremos um gerador de senhas que nos ajudará a gerar senhas aleatórias e fortes rapidamente.
Por que precisamos de um gerador de senhas?
Porque não podemos pensar em padrões diferentes de senhas instantaneamente.
Mas, não é o mesmo caso com computadores. Os computadores podem gerar senhas aleatórias e fortes com base em nossas personalizações em segundos. Existem muitos geradores de senhas disponíveis.
Podemos criar os nossos com as personalizações que gostamos?
Sim, podemos definitivamente criar um. E aqui vamos mostrar como fazer isso.
Vamos criar um gerador de senhas.
últimas postagens
Gerador de senhas 💻
O melhor de criar nosso próprio gerador de senhas é que podemos personalizá-lo como quisermos.
Primeiro, criaremos um gerador de senhas que pergunta o comprimento da senha e gera uma senha aleatória contendo dígitos, alfabetos e caracteres especiais.
Em seguida, vamos melhorá-lo perguntando o número de cada tipo de caractere, como o número de dígitos, alfabetos e caracteres especiais.
Então, sem mais delongas, vamos ver as etapas para criar um gerador de senhas usando Python.
Passos
- Armazene todos os caracteres como uma lista. Podemos usar o módulo string do Python ou digitar todos eles.
- Peça ao usuário para inserir o comprimento da senha.
- Embaralhe os caracteres usando o método random.shuffle.
- Inicialize uma lista vazia para armazenar a senha.
- Escreva um loop que itere tempos de comprimento.
- Escolha um personagem aleatório de todos os personagens usando o método random.choice.
- Anexe o caractere aleatório à senha.
- Embaralhe a lista de senhas resultante para torná-la mais aleatória.
- Converta a lista de senhas em string usando o método join.
- Imprima a senha.
Siga as etapas acima e tente escrever o código. Não se preocupe, mesmo que você não consiga escrever o código. Confira o código abaixo.
Código
import string import random ## characters to generate password from characters = list(string.ascii_letters + string.digits + "[email protected]#$%^&*()") def generate_random_password(): ## length of password from the user length = int(input("Enter password length: ")) ## shuffling the characters random.shuffle(characters) ## picking random characters from the list password = [] for i in range(length): password.append(random.choice(characters)) ## shuffling the resultant password random.shuffle(password) ## converting the list to string ## printing the list print("".join(password)) ## invoking the function generate_random_password()
O código acima é autoexplicativo. Acabamos de seguir os passos descritos para escrever o código. Portanto, você não encontrará nenhum problema em entender o código se ler as etapas.
Agora, execute o código e gere uma senha. Uma saída de exemplo será a seguinte.
Enter password length: 10 d&amIzK%d)
Observe a senha na saída acima. Existe algum dígito? Não. Porque não há garantia de que o programa incluirá dígitos.
Em seguida, tentamos garantir que o programa inclua dígitos e caracteres especiais solicitando ao usuário que insira o número de dígitos, alfabetos e caracteres especiais que deseja.
Quando o usuário digitar o número de caracteres para cada tipo, o programa incluirá o respectivo número de tipos de caracteres na senha.
Vamos ver o código que aceita a quantidade de caracteres para cada tipo e gera a senha.
import string import random ## characters to generate password from alphabets = list(string.ascii_letters) digits = list(string.digits) special_characters = list("[email protected]#$%^&*()") characters = list(string.ascii_letters + string.digits + "[email protected]#$%^&*()") def generate_random_password(): ## length of password from the user length = int(input("Enter password length: ")) ## number of character types alphabets_count = int(input("Enter alphabets count in password: ")) digits_count = int(input("Enter digits count in password: ")) special_characters_count = int(input("Enter special characters count in password: ")) characters_count = alphabets_count + digits_count + special_characters_count ## check the total length with characters sum count ## print not valid if the sum is greater than length if characters_count > length: print("Characters total count is greater than the password length") return ## initializing the password password = [] ## picking random alphabets for i in range(alphabets_count): password.append(random.choice(alphabets)) ## picking random digits for i in range(digits_count): password.append(random.choice(digits)) ## picking random alphabets for i in range(special_characters_count): password.append(random.choice(special_characters)) ## if the total characters count is less than the password length ## add random characters to make it equal to the length if characters_count < length: random.shuffle(characters) for i in range(length - characters_count): password.append(random.choice(characters)) ## shuffling the resultant password random.shuffle(password) ## converting the list to string ## printing the list print("".join(password)) ## invoking the function generate_random_password()
Então, qual é a diferença entre o código anterior e este código?
- Escrevemos loops separados para cada tipo de caractere para adicioná-los à senha.
- Existem duas verificações condicionais para validar a contagem total de caracteres com o comprimento da senha.
Nós adicionamos algum código extra. Mas, o padrão é semelhante ao código anterior. Assim, você não encontrará nenhuma dificuldade em compreendê-lo.
Agora, é hora de executar e verificar a saída. Observe a execução de teste a seguir.
Enter password length: 10 Enter alphabets count in password: 3 Enter digits count in password: 2 Enter special characters count in password: 3 V2(&#XlQq1
Se você vir a senha gerada desta vez, ela tem o número mínimo de caracteres que o usuário deseja. E o programa incluiu mais 2 caracteres aleatórios para tornar o comprimento da senha igual à entrada do usuário.
Viva! temos um gerador completo de senhas fortes. 😎
Conclusão
Vimos como criar um gerador de senhas do zero. Podemos adicionar mais recursos a ele? Sim, podemos adicionar quantos quisermos. Mas, certifique-se de que a senha resultante seja forte o suficiente.
Gere as senhas do código e use-as para sua próxima conta online.
Enquanto você faz isso, use o Gerador de Senhas Aleatórias etechpt.com para criar senhas seguras.
Aprenda a escrever igual ou não igual ao código e como construir um jogo da velha em Python.
Boa Codificação! 👩💻