random.getrandbits() și random.randbytes() în Python

Numere aleatorii (random) Python 3.0+ (randbytes: 3.9+)

Un întreg aleator cu k biți și n octeți aleatori.

Sintaxă
random.getrandbits(k)
random.randbytes(n)

Ce face random.getrandbits() și random.randbytes()

getrandbits(k) returnează un întreg nenegativ format din k biți aleatori (deci între 0 și 2k − 1). randbytes(n) (Python 3.9+) returnează n octeți aleatori.

Ca tot modulul random, nu sunt potrivite pentru securitate. Pentru chei și token-uri folosește secrets.token_bytes() sau os.urandom().

Parametri

Parametru Descriere
k Numărul de biți.
n Numărul de octeți.

Ce returnează

getrandbits: int. randbytes: bytes.

Exemple

Exemplul 1: Biți și octeți aleatori

import random
random.seed(0)
print(random.getrandbits(8), random.getrandbits(64).bit_length() <= 64)
print(random.randbytes(4).hex())

Rezultat

216 True
8206e7e3

Greșeli frecvente

  • Folosești randbytes pentru o cheie de criptare. Folosește secrets.token_bytes().

Comenzi înrudite