Se

Segreti in Python

{one: "1 esercizio", many: "%{count} esercizi", other: "%{count} esercizi"}

Informazioni su Segreti

Un concetto precedente ha trattato il modulo random, che produce numeri pseudo-casuali e ordinamenti pseudo-casuali di liste.

Il modulo secrets si sovrappone a random in alcune delle sue funzionalità, ma i due moduli sono progettati con priorità molto diverse.

  • random è ottimizzato per prestazioni elevate nella modellazione e nella simulazione, con una generazione di numeri pseudo-casuali «abbastanza buona».
  • secrets è progettato per essere crittograficamente sicuro per applicazioni come l'hashing delle password, la generazione di token di sicurezza e l'autenticazione degli account.

Ulteriori dettagli sul perché l'aggiunta del modulo secrets si sia resa necessaria sono forniti in PEP 506.

Il modulo secrets è relativamente piccolo e semplice, con metodi per generare numeri interi casuali, bit, byte, token o una voce casuale da una sequenza data.

Per usare secrets, devi prima importarlo con 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'

Se stai scrivendo applicazioni sensibili alla sicurezza, ti conviene sicuramente leggere la documentazione completa, che offre ulteriori consigli ed esempi.

Modifica tramite GitHub Il collegamento si apre in una nuova finestra o scheda