#hashing
3 APIs con questa etichetta
Birthday Paradox API
Birthday-paradox and collision-probability maths as an API, computed locally and deterministically. The probability endpoint computes the chance that at least two of n people share a birthday among d equally likely days, P = 1 − Π(1 − i/d), evaluated in log space for accuracy — the famous result that just 23 people give about a 50.7 % chance, 50 people about 97 % and 70 people about 99.9 %. The people-needed endpoint inverts it: the smallest group size to reach a target probability (23 for 50 %, 57 for 99 %), with the √(2·d·ln(1/(1−p))) approximation. The collision endpoint generalises the birthday bound to any space — pass a number of buckets or a hash size in bits — and returns the collision probability P ≈ 1 − e^(−n²/2d), the rule behind hash collisions and UUID-uniqueness estimates, where a 50 % chance needs roughly 1.177·√d items. Days and buckets default to 365. Everything is computed locally and deterministically, so it is instant and private. Ideal for probability-education, security, cryptography, hashing, data-engineering and statistics app developers, collision-risk and birthday-problem tools, and teaching material. Pure local computation — no key, no third-party service, instant. Live, nothing stored. 3 endpoints. This is the birthday/collision probability; for full distributions use a probability API.
api.oanor.com/birthdayparadox-api
API de segmentación A/B
Pruebas A/B deterministas y asignación de feature flags — sin base de datos, sin estado almacenado. El endpoint de bucket hashea una clave (un id de usuario, sesión o dispositivo) en un bucket estable de 0 a N-1 que nunca cambia para esa clave, y puede decidir si la clave está dentro de un despliegue porcentual; como la decisión es monótona, aumentar el porcentaje solo añade usuarios, por lo que una rampa gradual es persistente y nadie retrocede. El endpoint de variante asigna una de varias variantes ponderadas — una división simple de control/tratamiento o cualquier prueba multivariante — de manera consistente para la misma clave, respetando pesos personalizados. Mezclar un nombre de experimento mantiene los experimentos independientes entre sí, y como las mismas entradas siempre producen la misma respuesta, tu cliente y servidor (y cualquier función edge) coinciden en la asignación sin necesidad de coordinación ni búsquedas. El hashing es FNV-1a con una mezcla de avalancha, lo que proporciona buckets uniformes y estables en todos los lenguajes y máquinas. Se ejecuta completamente en local, por lo que es instantáneo, determinista y privado. Ideal para feature flags y despliegues graduales, experimentos A/B y multivariantes, lanzamientos canary, holdouts y kill-switches, y segmentación consistente de UI en web y móvil. Cálculo puramente local — sin clave, sin servicio de terceros, instantáneo. En vivo, nada almacenado. 3 endpoints. Esto asigna experimentos de manera determinista; para probar si un resultado es estadísticamente significativo, usa una API de estadísticas.
api.oanor.com/abtest-api
Checksum API
Fast non-cryptographic checksums as an API. Compute CRC-32 — the integrity check used by ZIP, gzip, PNG and Ethernet — and Adler-32 — the checksum used by zlib — over UTF-8 text, hex or base64 input, returned in hex and as signed and unsigned 32-bit integers. Ideal for file- and message-integrity verification, cache keys and ETags, change detection and deduplication, where you want a quick fingerprint rather than a secure hash. Pure local computation — no key, no third-party service, instant; send binary via the hex or base64 encoding (up to 4 MB). Live, nothing stored. 4 endpoints. Explicitly NOT for security — for cryptographic digests (MD5, SHA-256, HMAC) use a hashing API instead.
api.oanor.com/checksum-api