Μυ

Μυστικά σε Python

{one: "1 άσκηση", other: "%{count} ασκήσεις"}

Σχετικά με την έννοια Μυστικά

Σε μια προηγούμενη έννοια, συζητήσαμε το module random, το οποίο παράγει ψευδοτυχαίους αριθμούς και ψευδοτυχαίες διατάξεις λίστας.

Το module secrets επικαλύπτεται με το random σε ορισμένες λειτουργίες του, αλλά τα δύο modules έχουν σχεδιαστεί με πολύ διαφορετικές προτεραιότητες.

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

Περισσότερες λεπτομέρειες για το γιατί η προσθήκη του module secrets κρίθηκε απαραίτητη δίνονται στο PEP 506.

Το module secrets είναι σχετικά μικρό και απλό, με μεθόδους για τη δημιουργία τυχαίων ακεραίων, bits, bytes, διακριτικών ή ενός τυχαίου στοιχείου από μια δεδομένη ακολουθία.

Για να χρησιμοποιήσεις το secrets, πρέπει πρώτα να το εισάγεις με import:

>>> import secrets

# Returns n, where 0 <= n < 1000.
>>> secrets.randbelow(1000) 
577

# 32-bit integers.
>>> secrets.randbits(32) 
3028709440

>>> bin(secrets.randbits(32))
'0b11111000101100101111110011110100'

# Pick at random from a sequence.
>>> secrets.choice(['my', 'secret', 'thing']) 
'thing'

# Generate a token made up of random hexadecimal digits.
>>> secrets.token_hex() 
'f683d093ea9aa1f2607497c837cf11d7afaefa903c5805f94b64f068e2b9e621'

# Generate a URL-safe token of random alphanumeric characters.
>>> secrets.token_urlsafe(16) 
'gkSUKRdiPDHqmImPi2HMnw'

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

Επεξεργασία μέσω GitHub Ο σύνδεσμος ανοίγει σε νέο παράθυρο ή καρτέλα