Sikkerhed er en af de mest afgørende dele af vores liv. Betydningen af sikkerhed stiger dag for dag, da det meste foregår online. Adgangskoder kommer frem i lyset, når vi taler om sikkerhed.
I denne artikel vil vi oprette en adgangskodegenerator, der hjælper os med at generere tilfældige og stærke adgangskoder hurtigt.
Hvorfor har vi brug for en adgangskodegenerator?
Fordi vi ikke kan tænke på forskellige mønstre af adgangskoder med det samme.
Men det er ikke det samme med computere. Computere kan generere tilfældige og stærke adgangskoder baseret på vores tilpasninger på få sekunder. Der er mange adgangskodegeneratorer tilgængelige.
Kan vi skabe vores eget med de tilpasninger, vi kan lide?
Ja, vi kan helt sikkert lave en. Og her skal vi vise dig, hvordan du gør det.
Lad os oprette en adgangskodegenerator.
Indholdsfortegnelse
Adgangskodegenerator 💻
Det bedste ved at skabe vores egen adgangskodegenerator er, at vi kan tilpasse den, som vi vil.
Først vil vi oprette en adgangskodegenerator, der spørger om længden af adgangskoden og genererer en tilfældig adgangskode, der indeholder cifre, alfabeter og specialtegn.
Dernæst vil vi forbedre det ved at spørge antallet af hver type tegn, som antallet af cifre, alfabeter og specialtegn.
Så lad os uden videre se trinene til at oprette en adgangskodegenerator ved hjælp af Python.
Trin
- Gem alle tegnene som en liste. Vi kan bruge strengmodulet i Python eller skrive dem alle sammen.
- Bed brugeren om at indtaste længden af adgangskoden.
- Bland tegnene ved hjælp af random.shuffle-metoden.
- Initialiser en tom liste for at gemme adgangskoden.
- Skriv en løkke, der gentager længde gange.
- Vælg et tilfældigt tegn blandt alle tegnene ved hjælp af random.choice-metoden.
- Føj det tilfældige tegn til adgangskoden.
- Bland den resulterende adgangskodeliste for at gøre den mere tilfældig.
- Konverter adgangskodelisten til streng ved hjælp af joinmetoden.
- Udskriv adgangskoden.
Følg ovenstående trin, og prøv at skrive kode. Bare rolig, selvom du ikke er i stand til at skrive koden. Tjek 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()
Ovenstående kode er selvforklarende. Vi har lige fulgt de beskrevne trin for at skrive kode. Så du vil ikke finde noget problem med at forstå koden, hvis du læser trinene.
Kør nu koden og generer en adgangskode. Et eksempel på output vil være som følger.
Enter password length: 10 d&amIzK%d)
Overhold adgangskoden i ovenstående output. Er der et ciffer? Nej. For der er ingen garanti for, at programmet vil indeholde cifre.
Dernæst forsøger vi at garantere, at programmet vil indeholde cifre og specialtegn ved at bede brugeren om at indtaste det antal cifre, alfabeter og specialtegn, de ønsker.
Når brugeren indtaster antallet af tegn for hver type, vil programmet inkludere det respektive antal tegntyper i adgangskoden.
Lad os se koden, der accepterer antallet af tegn for hver type og genererer adgangskoden.
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å hvad er forskellen mellem den tidligere kode og denne kode?
- Vi har skrevet separate loops for hver type karakter for at tilføje dem til adgangskoden.
- Der er to betingede kontroller for at validere det samlede antal tegn med adgangskodelængde.
Vi har tilføjet noget ekstra kode. Men mønsteret ligner den forrige kode. Så du vil ikke finde nogen problemer med at forstå det.
Nu er det tid til at udføre og kontrollere outputtet. Se på følgende testkørsel.
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 adgangskoden genereret denne gang, har den det mindste antal tegn, som brugeren ønsker. Og programmet har inkluderet yderligere 2 tilfældige tegn for at gøre adgangskodens længde lig med brugerinput.
Hurra! vi har en komplet stærk adgangskodegenerator. 😎
Konklusion
Vi har set, hvordan man opretter en adgangskodegenerator fra bunden. Kan vi tilføje flere funktioner til det? Ja, vi kan tilføje så mange, vi vil. Men sørg for, at den resulterende adgangskode er stærk nok.
Generer adgangskoderne fra koden, og brug dem til din næste onlinekonto.
Mens du gør det, skal du bruge toadmin.dk Random Password Generator til at oprette sikre adgangskoder.
Lær, hvordan du skriver lig med eller ikke lig med kode, og hvordan du bygger et tic-tac-toe-spil i Python.
God kodning! 👩💻