Entrega: el guardia de seguridad de Peso Digital
Estás en modo lectura. Crea una cuenta o entra para enviar tu solución y ganar estrellas. Puedes ejecutar código igual.
Así te va a probar Tomás (pruebas de la misión)
test "firmar y verificar una operación"
let clave be as_secret("clave-operaciones")
let f be firmar_operacion("transferencia:1000:ARS", clave)
assert_eq(length(f), 64)
assert_eq(f, "20bff24c012c94e3746954c2407f1d07d69aee16c9a06230caba64f396ac2fe1")
assert(operacion_valida("transferencia:1000:ARS", f, clave))
assert(not operacion_valida("transferencia:9999:ARS", f, clave))
test "contraseñas listas para auditoría"
let h be guardar_password("Correcto123")
assert(starts_with(h, "$argon2id$"))
assert(acceso_valido("Correcto123", h))
assert(not acceso_valido("incorrecta", h))
test "tokens impredecibles"
assert_eq(length(token_nuevo()), 43)
assert_ne(token_nuevo(), token_nuevo())
test "los datos externos se procesan aislados"
assert_eq(procesar_externo("1200;800;500"), 2500)
assert_eq(procesar_externo("50"), 50)