Πώς να Φτιάξεις Ισχυρούς Κωδικούς Πρόσβασης με Python (Απλή & Προχωρημένη Έκδοση)

Τα τελευταία χρόνια οι κυβερνοεπιθέσεις έχουν αυξηθεί πολύ. Πλέον με την χρήση του AI πολλοί hackers μπορούν να αποκτήσουν πρόσβαση σε λογαριασμούς που έχουν αδύναμους κωδικούς πρόσβασης. Αυτό έχει ως αποτέλεσμα τα προσωπικά δεδομένα των χρηστών να είναι ευάλωτα. Όμως πώς θα ξέρουμε ότι ο κωδικός μας είναι αρκετά ισχυρός. Ένας ισχυρός κωδικός πρέπει να περιέχει σύμβολα, χαρακτήρες και νούμερα. Ακόμα και να ξέρουμε πώς πρέπει να είναι ένας ισχυρός κωδικός θα ήταν πολύ πιο απλό να κάνουμε ένα απλό πρόγραμμα που θα φτιάχνει τους κωδικούς για εμάς. Στο tutorial αυτό θα δούμε πώς να δημιουργούμε τυχαίους ισχυρούς κωδικούς πρόσβασης με την χρήση ενός απλού python προγράμματος και την βιβλιοθήκη random. Αλλά και μια προχωρημένη έκδοση με την χρήση της βιβλιοθήκης secrets

Προ απαιτούμενα:

  • Python 3.10 ή νεότερο

1. Απλή Έκδοση:

Για την πρώτη απλή έκδοση θα χρησιμοποιήσουμε την βιβλιοθήκη random για να δημιουργήσουμε κωδικούς με Κεφαλαία & μικρά, Αριθμούς, Σύμβολα.

import random
import string

length = 12

characters = string.ascii_letters + string.digits + string.punctuation

password = ''.join(random.choice(characters) for _ in range(length))

print("Generated Password:", password)

1. Εισάγουμε τη βιβλιοθήκη random, που χρησιμοποιείται για τυχαίες επιλογές, όπως η επιλογή τυχαίων χαρακτήρων για το password.

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

  • string.ascii_letters → όλα τα αγγλικά γράμματα (a-z, A-Z)

  • string.digits → όλα τα ψηφία (0-9)

  • string.punctuation → όλα τα σύμβολα τύπου !@#$%^&* κλπ

3.Ορίζει το μήκος του password σε 12 χαρακτήρες.
Μπορείς να το αλλάξεις σε οποιοδήποτε μήκος θέλεις, π.χ. length = 20.

4. Δημιουργεί μια λίστα χαρακτήρων που θα χρησιμοποιηθεί για το password.

5. Αυτή είναι η μαγική γραμμή που φτιάχνει το password:
  1. random.choice(characters) → επιλέγει τυχαία έναν χαρακτήρα από το characters.

  2. for _ in range(length) → επαναλαμβάνει την επιλογή length φορές (12 εδώ).

  3. ''.join(...) → ενώνει όλους τους τυχαίους χαρακτήρες σε ένα ενιαίο string, που είναι το password.

6. Τυπώνει στην οθόνη το password που δημιουργήθηκε

2. Προχωρημένη Έκδοση:

import secrets
import string

def generate_password(length=16):
    characters = string.ascii_letters + string.digits + string.punctuation
    return ''.join(secrets.choice(characters) for _ in range(length))

password = generate_password(16)
print("Secure Password:", password)


1. Φορτώνει τη βιβλιοθήκη secrets, η οποία παρέχει cryptographically secure τυχαίες επιλογές.        Σε αντίθεση με τη βιβλιοθήκη random, το secrets είναι κατάλληλο για passwords και κλειδιά ασφαλείας, γιατί είναι πολύ πιο δύσκολο να προβλεφθεί.

2. Φορτώνει τη βιβλιοθήκη string, όπως και πριν, για έτοιμες λίστες χαρακτήρων

3. Δηλώνει μια συνάρτηση με όνομα generate_password.  Η παράμετρος length=16 σημαίνει ότι το default μήκος του password είναι 16 χαρακτήρες, αν δεν δοθεί άλλη τιμή κατά την κλήση της συνάρτησης.

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

5. Αυτή η γραμμή επιστρέφει το password ως string:
  1. secrets.choice(characters) → επιλέγει τυχαία και ασφαλή έναν χαρακτήρα από το characters.
  2. for _ in range(length) → επαναλαμβάνει τη διαδικασία length φορές.
  3. ''.join(...) → ενώνει τους χαρακτήρες σε ένα ενιαίο string, δηλαδή το τελικό password.

6. Καλούμε τη συνάρτηση generate_password για να δημιουργήσουμε ένα password μήκους 16 χαρακτήρων. Το αποτέλεσμα αποθηκεύεται στη μεταβλητή password.

7. Τυπώνει στην οθόνη το password που δημιουργήθηκε.




Σχόλια

Δημοφιλείς αναρτήσεις από αυτό το ιστολόγιο

Αυτόματο Φως Νύχτας

🚀 Διαγωνισμός Ρομποτικής & Αυτοματισμού! 🤖

🚗🤖 Φτιάξε το Δικό σου Μίνι Ρομποτικό Αυτοκίνητο με Arduino!