Sequential IDs in URLs (/users/1042, then 1043, then 1044) leak how many records you have and let anyone walk them. Hashids/Sqids fix the enumeration but aren't really keyed. The alphabet is just salt-shuffled.
arxid is a keyed reversible permutation instead: a balanced Feistel network with an ARX round function over 40 bits, mapping to a 7-char base62 code. It runs ~16x faster than the same Feistel using HMAC-SHA256 as the round function, since an ARX round is a handful of integer ops rather than a hash call.
A few Rust-specific things:
no_std capable, forbids unsafe
features std / alloc / encoding / zeroize, plus wasm behind a flag
the round count (4) comes from measuring strict avalanche, not from picking a number that felt safe
it's the reference impl for a spec-first design: a frozen spec and 61 canonical test vectors, so a port in any language validates against the same vectors and stays byte-identical
The README is blunt about what this isn't. Not encryption, not a MAC, not audited. It stops casual enumeration and that's the job. It is not access control.
Curious what people think of the API and the construction.
Repo: GitHub - lucasolopes/arxid: Keyed, reversible permutation for obfuscating sequential integer IDs. A frozen spec plus canonical vectors, so every language agrees byte-for-byte. Rust reference + TypeScript port. · GitHub
8 posts - 4 participants
Read full topic
| # | Наименование новости | Тональность | Информативность | Дата публикации |
|---|---|---|---|---|
| 1 | Sigid: a zero-dependency, no_std, three-layer unique ID generator | 0 | 14.69 | 11-08-2026 |
| 2 | My state lib PurrGress | 0 | 12.62 | 13-08-2026 |
| 3 | Multicalc: Scientific computing for real-time embedded systems in no_std Rust | 0 | 14.36 | 10-08-2026 |
| 4 | Siffra - a GPUI calculator that supports dimensional analysis | 0 | 11.04 | 07-08-2026 |
| 5 | Qhull_rayon v0.1.0 | 0 | 10.4 | 11-08-2026 |
| 6 | rsloop: An Event Loop for Asyncio Written in Rust | 0 | 10 | 20-04-2026 |
| 7 | oxyde: Type-Safe, Pydantic-Centric Async ORM | 0 | 50 | 20-02-2026 |
| 8 | ERC-8337: Agent Memory State | 0 | 7.65 | 26-07-2026 |
| 9 | Как отговорить себя от написания своей ФС | 0 | 11.64 | 09-08-2026 |