Hashes y secretos en Python
Digests para integridad, hmac para autenticidad, secrets para tokens.
import hashlib
import hmac
import secrets
carga = b"lang=python&tpm=104"
print(hashlib.sha256(carga).hexdigest()[:16])
print(hashlib.blake2b(carga, digest_size=8).hexdigest())
clave = b"secreto-compartido"
firma = hmac.new(clave, carga, hashlib.sha256).hexdigest()
print(hmac.compare_digest(firma, firma))
print(len(secrets.token_urlsafe(32)), secrets.randbelow(10))
Cómo funciona
hashlibdigiere bytes, no texto — codifica primero.hmac.compare_digestevita una fuga por tiempos.secretses la fuente correcta para todo lo que toca seguridad.
Palabras clave y builtins usados aquí
lenprint
El intento, en números
- Líneas
- 13
- Caracteres a escribir
- 369
- Tokens
- 100
- Ritmo de tres estrellas
- 110 tpm
Al ritmo de tres estrellas de 110 tokens por minuto, este intento toma unos 55 segundos.
Paso 1 de 2 en Bytes y secretos; paso 30 de 41 en Herramientas de dominio.