Cum se creează un generator de parole aleatorii în Python

Securitatea este una dintre cele mai importante părți ale vieții noastre. Importanța securității crește pe zi ce trece, pe măsură ce majoritatea lucrurilor merg online. Parolele ies la lumină pe măsură ce vorbim despre securitate.

În acest articol, vom crea un generator de parole care ne ajută să generăm rapid parole aleatoare și puternice.

De ce avem nevoie de un generator de parole?

Pentru că nu ne putem gândi la diferite modele de parole instantaneu.

Dar, nu este același caz cu computerele. Calculatoarele pot genera parole aleatoare și puternice pe baza personalizărilor noastre în câteva secunde. Există multe generatoare de parole disponibile.

Ne putem crea pe al nostru cu personalizările care ne plac?

Da, cu siguranță putem crea unul. Și aici vă vom arăta cum să faceți asta.

Să creăm un generator de parole.

Generator de parole 💻

Cel mai bun lucru despre crearea propriului nostru generator de parole este că îl putem personaliza după cum ne place.

În primul rând, vom crea un generator de parole care solicită lungimea parolei și generează o parolă aleatorie care conține cifre, alfabete și caractere speciale.

În continuare, îl vom îmbunătăți cerând numărul fiecărui tip de caracter, cum ar fi numărul de cifre, alfabete și caractere speciale.

Deci, fără alte prelungiri, să vedem pașii pentru a crea un generator de parole folosind Python.

Pași

  • Stocați toate caracterele ca o listă. Putem folosi modulul string al lui Python sau le putem tasta pe toate.
  • Cereți utilizatorului să introducă lungimea parolei.
  • Amestecați personajele folosind metoda random.shuffle.
  • Inițializați o listă goală pentru a stoca parola.
  • Scrieți o buclă care repetă ori lungime.
    • Alegeți un caracter aleatoriu dintre toate caracterele folosind metoda random.choice.
    • Adăugați caracterul aleatoriu la parolă.
  • Amestecă lista de parole rezultată pentru a o face mai aleatorie.
  • Convertiți lista de parole în șir folosind metoda join.
  • Imprimați parola.
  Faceți-vă iPhone-ul mai ușor de utilizat cu aceste caracteristici de accesibilitate ascunse

Urmați pașii de mai sus și încercați să scrieți cod. Nu vă faceți griji, chiar dacă nu puteți scrie codul. Consultați codul de mai jos.

Cod

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()

Codul de mai sus se explică de la sine. Tocmai am urmat pașii descriși pentru a scrie cod. Deci, nu veți găsi nicio problemă în înțelegerea codului dacă citiți pașii.

Acum, rulați codul și generați o parolă. Un exemplu de ieșire va fi după cum urmează.

Enter password length: 10
d&amIzK%d)

Observați parola din rezultatul de mai sus. Există vreo cifră? Nu. Pentru că nu există nicio garanție că programul va include cifre.

În continuare, încercăm să garantăm că programul va include cifre și caractere speciale, cerând utilizatorului să introducă numărul de cifre, alfabete și caractere speciale pe care le dorește.

Când utilizatorul introduce numărul de caractere pentru fiecare tip, programul va include numărul respectiv de tipuri de caractere în parolă.

Să vedem codul care acceptă numărul de caractere pentru fiecare tip și generează parola.

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()

Deci, care este diferența dintre codul anterior și acest cod?

  • Am scris bucle separate pentru fiecare tip de caracter pentru a le adăuga la parolă.
  • Există două verificări condiționate pentru a valida numărul total de caractere cu lungimea parolei.
  12 aplicații de colaj foto pentru a edita și a îmbina cele mai bune fotografii

Am adăugat un cod suplimentar. Dar, modelul este similar cu codul anterior. Deci, nu veți găsi nicio dificultate în a o înțelege.

Acum, este timpul să executați și să verificați rezultatul. Uitați-vă la următoarea rulare de probă.

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

Dacă vedeți parola generată de data aceasta, aceasta are numărul minim de caractere pe care îl dorește utilizatorul. Și programul a inclus încă 2 caractere aleatorii pentru ca lungimea parolei să fie egală cu cea introdusă de utilizator.

Ura! avem un generator complet de parole puternice. 😎

Concluzie

Am văzut cum să creăm un generator de parole de la zero. Putem adăuga mai multe caracteristici? Da, putem adăuga câte vrem. Dar, asigurați-vă că parola rezultată este suficient de puternică.

Generați parolele din cod și utilizați-le pentru următorul cont online.

În timp ce faci asta, folosește Generatorul de parole aleatoare tipstrick.ro pentru a crea parole sigure.

Aflați cum să scrieți egal sau nu egal cu codul și cum să creați un joc tic-tac-toe în Python.

Codare fericită! 👩‍💻