Ti

Titkok ebben a kurzusban: Python

{one: "1 feladat", other: "%{count} feladat"}

A(z) Titkok fogalomról

Egy korábbi fogalom a random modult tárgyalta, amely álvéletlen számokat és álvéletlen lista-sorrendeket állít elő.

A secrets modul néhány funkciójában átfedésben van a random modullal, de a két modult nagyon különböző szempontok szerint tervezték.

  • A random a modellezésben és szimulációban nyújtott nagy teljesítményre van optimalizálva, „megfelelően jó” álvéletlen számgenerálással.
  • A secrets kriptográfiailag biztonságos kialakítású olyan alkalmazásokhoz, mint a jelszavak hashelése, biztonsági tokenek előállítása és a fiók hitelesítése.

Bővebb részletek arról, hogy miért bizonyult szükségesnek a secrets modul hozzáadása, a PEP 506 dokumentumban találhatók.

A secrets modul viszonylag kicsi és egyszerű; metódusai véletlen egészeket, biteket, bájtokat, tokeneket vagy egy adott sorozatból véletlenszerűen kiválasztott elemet állítanak elő.

A secrets használatához először import-tal kell betöltened a modult:

>>> 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'

Ha biztonságkritikus alkalmazásokat írsz, mindenképpen érdemes elolvasnod a teljes dokumentációt, amely további tanácsokat és példákat tartalmaz.

Szerkesztés GitHubon A hivatkozás új ablakban vagy lapon nyílik meg