Πώς να δημιουργήσετε μια γεννήτρια τυχαίων κωδικών πρόσβασης στην Python

Η ασφάλεια είναι ένα από τα πιο κρίσιμα κομμάτια της ζωής μας. Η σημασία της ασφάλειας αυξάνεται μέρα με τη μέρα καθώς τα περισσότερα πράγματα κυκλοφορούν στο διαδίκτυο. Οι κωδικοί πρόσβασης έρχονται στο φως καθώς μιλάμε για ασφάλεια.

Σε αυτό το άρθρο, θα δημιουργήσουμε ένα πρόγραμμα δημιουργίας κωδικών πρόσβασης που μας βοηθά να δημιουργήσουμε γρήγορα τυχαίους και ισχυρούς κωδικούς πρόσβασης.

Γιατί χρειαζόμαστε μια δημιουργία κωδικών πρόσβασης;

Επειδή δεν μπορούμε να σκεφτούμε διαφορετικά μοτίβα κωδικών πρόσβασης αμέσως.

Όμως, δεν συμβαίνει το ίδιο με τους υπολογιστές. Οι υπολογιστές μπορούν να δημιουργήσουν τυχαίους και ισχυρούς κωδικούς πρόσβασης βάσει των προσαρμογών μας σε δευτερόλεπτα. Υπάρχουν πολλές διαθέσιμες συσκευές δημιουργίας κωδικών πρόσβασης.

Μπορούμε να δημιουργήσουμε τις δικές μας με τις προσαρμογές που μας αρέσουν;

Ναι, μπορούμε σίγουρα να δημιουργήσουμε ένα. Και εδώ θα σας δείξουμε πώς να το κάνετε αυτό.

Ας δημιουργήσουμε ένα πρόγραμμα δημιουργίας κωδικών πρόσβασης.

Γεννήτρια κωδικών πρόσβασης 💻

Το καλύτερο πράγμα για τη δημιουργία του δικού μας προγράμματος δημιουργίας κωδικών πρόσβασης είναι ότι μπορούμε να το προσαρμόσουμε όπως θέλουμε.

Αρχικά, θα δημιουργήσουμε ένα πρόγραμμα δημιουργίας κωδικών πρόσβασης που ζητά το μήκος του κωδικού πρόσβασης και δημιουργεί έναν τυχαίο κωδικό πρόσβασης που περιέχει ψηφία, αλφάβητα και ειδικούς χαρακτήρες.

Στη συνέχεια, θα το βελτιώσουμε ρωτώντας τον αριθμό κάθε τύπου χαρακτήρων, όπως τον αριθμό των ψηφίων, τα αλφάβητα και τους ειδικούς χαρακτήρες.

Έτσι, χωρίς περαιτέρω καθυστέρηση, ας δούμε τα βήματα για τη δημιουργία μιας δημιουργίας κωδικών πρόσβασης χρησιμοποιώντας την Python.

  Γιατί οι εφαρμογές εξαφανίζονται από το App Store και το Play Store;

Βήματα

  • Αποθηκεύστε όλους τους χαρακτήρες ως λίστα. Μπορούμε να χρησιμοποιήσουμε τη μονάδα συμβολοσειράς της Python ή να τα πληκτρολογήσουμε όλα.
  • Ζητήστε από τον χρήστη να εισαγάγει το μήκος του κωδικού πρόσβασης.
  • Ανακατέψτε τους χαρακτήρες χρησιμοποιώντας τη μέθοδο random.shuffle.
  • Ξεκινήστε μια κενή λίστα για να αποθηκεύσετε τον κωδικό πρόσβασης.
  • Γράψτε έναν βρόχο που επαναλαμβάνει χρόνους μήκους.
    • Επιλέξτε έναν τυχαίο χαρακτήρα από όλους τους χαρακτήρες χρησιμοποιώντας τη μέθοδο random.choice.
    • Προσθέστε τον τυχαίο χαρακτήρα στον κωδικό πρόσβασης.
  • Ανακατέψτε τη λίστα κωδικών πρόσβασης που προκύπτει για να την κάνετε πιο τυχαία.
  • Μετατρέψτε τη λίστα κωδικών πρόσβασης σε συμβολοσειρά χρησιμοποιώντας τη μέθοδο σύνδεσης.
  • Εκτυπώστε τον κωδικό πρόσβασης.

Ακολουθήστε τα παραπάνω βήματα και προσπαθήστε να γράψετε κώδικα. Μην ανησυχείτε, ακόμα κι αν δεν μπορείτε να γράψετε τον κωδικό. Ελέγξτε τον παρακάτω κώδικα.

Κώδικας

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

Ο παραπάνω κώδικας είναι αυτονόητος. Μόλις ακολουθήσαμε τα βήματα που περιγράφηκαν για να γράψουμε κώδικα. Έτσι, δεν θα βρείτε κανένα πρόβλημα στην κατανόηση του κώδικα αν διαβάσετε τα βήματα.

Τώρα, εκτελέστε τον κωδικό και δημιουργήστε έναν κωδικό πρόσβασης. Ένα παράδειγμα εξόδου θα είναι το εξής.

Enter password length: 10
d&amIzK%d)

Προσέξτε τον κωδικό πρόσβασης στην παραπάνω έξοδο. Υπάρχει κάποιο ψηφίο; Όχι. Επειδή δεν υπάρχει εγγύηση ότι το πρόγραμμα θα περιλαμβάνει ψηφία.

  Δημιουργήστε GIF από βίντεο και προσθέστε κείμενο με το νέο Imgur GIF Creator

Στη συνέχεια, προσπαθούμε να εγγυηθούμε ότι το πρόγραμμα θα περιλαμβάνει ψηφία και ειδικούς χαρακτήρες ζητώντας από τον χρήστη να εισαγάγει τον αριθμό των ψηφίων, τα αλφάβητα και τους ειδικούς χαρακτήρες που θέλει.

Όταν ο χρήστης εισάγει τον αριθμό των χαρακτήρων για κάθε τύπο, το πρόγραμμα θα συμπεριλάβει τον αντίστοιχο αριθμό τύπων χαρακτήρων στον κωδικό πρόσβασης.

Ας δούμε τον κωδικό που δέχεται τον αριθμό των χαρακτήρων για κάθε τύπο και δημιουργεί τον κωδικό πρόσβασης.

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

Λοιπόν, ποια είναι η διαφορά μεταξύ του προηγούμενου κώδικα και αυτού του κωδικού;

  • Έχουμε γράψει ξεχωριστούς βρόχους για κάθε τύπο χαρακτήρα για να τους προσθέσουμε στον κωδικό πρόσβασης.
  • Υπάρχουν δύο έλεγχοι υπό όρους για την επικύρωση του συνολικού αριθμού χαρακτήρων με μήκος κωδικού πρόσβασης.
  Πώς να βρείτε και να εγκαταστήσετε συντομεύσεις τρίτων σε iPhone και iPad

Προσθέσαμε επιπλέον κώδικα. Όμως, το μοτίβο είναι παρόμοιο με τον προηγούμενο κώδικα. Έτσι, δεν θα βρείτε καμία δυσκολία να το καταλάβετε.

Τώρα, ήρθε η ώρα να εκτελέσετε και να ελέγξετε την έξοδο. Κοιτάξτε την παρακάτω δοκιμαστική εκτέλεση.

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

Εάν δείτε τον κωδικό πρόσβασης που δημιουργήθηκε αυτή τη φορά, έχει τον ελάχιστο αριθμό χαρακτήρων που θέλει ο χρήστης. Και το πρόγραμμα έχει συμπεριλάβει 2 ακόμη τυχαίους χαρακτήρες για να κάνει το μήκος του κωδικού πρόσβασης ίσο με την εισαγωγή του χρήστη.

Ούρα! διαθέτουμε ένα πλήρες ισχυρό πρόγραμμα δημιουργίας κωδικών πρόσβασης. 😎

συμπέρασμα

Είδαμε πώς να δημιουργήσετε μια γεννήτρια κωδικών πρόσβασης από την αρχή. Μπορούμε να προσθέσουμε περισσότερα χαρακτηριστικά σε αυτό; Ναι, μπορούμε να προσθέσουμε όσες θέλουμε. Ωστόσο, βεβαιωθείτε ότι ο κωδικός πρόσβασης που προκύπτει είναι αρκετά ισχυρός.

Δημιουργήστε τους κωδικούς πρόσβασης από τον κωδικό και χρησιμοποιήστε τους για τον επόμενο διαδικτυακό σας λογαριασμό.

Ενώ το κάνετε αυτό, χρησιμοποιήστε το grtechpc.org Random Password Generator για να δημιουργήσετε ασφαλείς κωδικούς πρόσβασης.

Μάθετε πώς να γράφετε ίσο ή όχι ίσο με κώδικα και πώς να δημιουργείτε ένα παιχνίδι tic-tac-toe στην Python.

Καλή Κωδικοποίηση! 👩‍💻