Sikkerhet er en av de mest avgjørende delene av livene våre. Betydningen av sikkerhet øker dag for dag ettersom det meste går på nett. Passord kommer frem i lyset når vi snakker om sikkerhet.
I denne artikkelen vil vi lage en passordgenerator som hjelper oss å generere tilfeldige og sterke passord raskt.
Hvorfor trenger vi en passordgenerator?
Fordi vi ikke kan tenke på forskjellige mønstre av passord umiddelbart.
Men det er ikke det samme tilfellet med datamaskiner. Datamaskiner kan generere tilfeldige og sterke passord basert på våre tilpasninger i løpet av sekunder. Det er mange passordgeneratorer tilgjengelig.
Kan vi lage våre egne med tilpasningene vi liker?
Ja, vi kan definitivt lage en. Og her skal vi vise deg hvordan du gjør det.
La oss lage en passordgenerator.
Innholdsfortegnelse
Passordgenerator 💻
Det beste med å lage vår egen passordgenerator er at vi kan tilpasse den slik vi vil.
Først vil vi lage en passordgenerator som spør om lengden på passordet og genererer et tilfeldig passord som inneholder sifre, alfabeter og spesialtegn.
Deretter vil vi forbedre det ved å spørre nummeret på hver type tegn, som antall sifre, alfabeter og spesialtegn.
Så, uten videre, la oss se trinnene for å lage en passordgenerator ved hjelp av Python.
Trinn
- Lagre alle tegnene som en liste. Vi kan bruke strengmodulen til Python eller skrive inn alle.
- Be brukeren angi lengden på passordet.
- Bland tegnene ved å bruke random.shuffle-metoden.
- Initialiser en tom liste for å lagre passordet.
- Skriv en løkke som gjentar lengde ganger.
- Velg et tilfeldig tegn fra alle tegnene ved å bruke random.choice-metoden.
- Legg til det tilfeldige tegnet til passordet.
- Bland den resulterende passordlisten for å gjøre den mer tilfeldig.
- Konverter passordlisten til streng ved hjelp av join-metoden.
- Skriv ut passordet.
Følg trinnene ovenfor og prøv å skrive kode. Ikke bekymre deg, selv om du ikke er i stand til å skrive koden. Sjekk ut koden nedenfor.
Kode
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()
Koden ovenfor er selvforklarende. Vi har nettopp fulgt trinnene beskrevet for å skrive kode. Så du vil ikke finne noe problem med å forstå koden hvis du leser trinnene.
Kjør nå koden og generer et passord. Et eksempelutgang vil være som følger.
Enter password length: 10 d&amIzK%d)
Følg passordet i utgangen ovenfor. Er det noe siffer? Nei. For det er ingen garanti for at programmet vil inneholde sifre.
Deretter prøver vi å garantere at programmet vil inneholde sifre og spesialtegn ved å be brukeren om å angi antall sifre, alfabeter og spesialtegn de ønsker.
Når brukeren legger inn antall tegn for hver type, vil programmet inkludere det respektive antallet tegntyper i passordet.
La oss se koden som godtar antall tegn for hver type og genererer passordet.
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()
Så, hva er forskjellen mellom den forrige koden og denne koden?
- Vi har skrevet separate løkker for hver type tegn for å legge dem til passordet.
- Det er to betingede kontroller for å validere det totale antall tegn med passordlengde.
Vi har lagt til litt ekstra kode. Men mønsteret ligner på den forrige koden. Så du vil ikke finne noen problemer med å forstå det.
Nå er det på tide å utføre og sjekke utdataene. Se på følgende testkjøring.
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
Hvis du ser passordet generert denne gangen, har det minimum antall tegn som brukeren ønsker. Og programmet har inkludert 2 flere tilfeldige tegn for å gjøre passordlengden lik brukerinndata.
Hurra! vi har en komplett sterk passordgenerator. 😎
Konklusjon
Vi har sett hvordan du lager en passordgenerator fra bunnen av. Kan vi legge til flere funksjoner til den? Ja, vi kan legge til så mange vi vil. Men sørg for at det resulterende passordet er sterkt nok.
Generer passordene fra koden og bruk dem for din neste nettkonto.
Mens du gjør det, bruk tipsbilk.net Random Password Generator for å lage sikre passord.
Lær hvordan du skriver lik eller ikke lik kode og hvordan du bygger et tikk-tac-toe-spill i Python.
Lykke til med koding! 👩💻