Come si usa
- Scegli Codifica per trasformare il testo in z-base-32, oppure Decodifica per riportare lo z-base-32 in testo.
- Lascia selezionata la variante z-base-32 e assicurati che il Padding sia disattivato, perché il formato non lo usa.
- Digita o incolla l’input, oppure apri un file. Il risultato si aggiorna mentre scrivi.
- Copia il risultato o scaricalo come file.
Che cos’è z-base-32?
z-base-32 è una codifica Base32 progettata da Zooko Wilcox-O'Hearn per essere più facile da leggere, scrivere e pronunciare. Il meccanismo è lo stesso del Base32 RFC 4648: ogni carattere trasporta 5 bit e 5 byte diventano 8 caratteri. A distinguerla è l’alfabeto:
ybndrfg8ejkmcpqxot1uwisza345h769
È interamente in minuscolo ed esclude 0, 2, l e v, che si confondono facilmente con o, z, 1 e u. Inoltre i caratteri sono riordinati, quindi l’output z-base-32 non somiglia affatto al Base32 standard degli stessi byte e non può essere letto da un decodificatore RFC 4648.
Non c’è padding: la lunghezza dei dati si ricava dalla lunghezza della stringa. La specifica può codificare anche sequenze di bit che non formano byte interi, se entrambe le parti concordano sulla lunghezza; questo strumento lavora sempre con byte interi.
Dove si usa z-base-32
- OpenPGP Web Key Directory (WKD). Per pubblicare una chiave a un URL noto, la parte locale dell’indirizzo email viene convertita in minuscolo e sottoposta a hash con SHA-1, e l’hash di 20 byte viene codificato in z-base-32 come nome di file di 32 caratteri.
- ZRTP. La stringa di autenticazione breve che due interlocutori leggono ad alta voce per scoprire un attacco man-in-the-middle può essere rappresentata in Base32 con l’alfabeto z-base-32 (RFC 6189).
- Lightning Network. I software per nodi come lnd e Core Lightning restituiscono i messaggi firmati come stringhe z-base-32.
Per altri formati a misura d’uomo, confronta Crockford Base32, che mantiene le cifre in ordine e perdona gli errori di battitura, e Base58, più corto ma sensibile alle maiuscole.
Specifiche
| Alfabeto | ybndrfg8ejkmcpqxot1uwisza345h769 |
|---|---|
| Dimensione dell’output | 8 caratteri ogni 5 byte (160%) |
| Padding | Nessuno |
| Standard | z-base-32 (Zooko Wilcox-O'Hearn) |
| Distingue maiuscole/minuscole | No |
Esempi
| Input (UTF-8) | Output |
|---|---|
Hello, World! | jb1sa5dxfoofq551pt1nn |
Base64.is | ejozg3jsgozg1ha |
你好 | h164b3pfzw |
Domande frequenti
z-base-32 è uguale a Base32?
No. Usa lo stesso raggruppamento a 5 bit del Base32 RFC 4648, ma un alfabeto diverso e riordinato, e niente padding. Una stringa z-base-32 va decodificata con un decodificatore z-base-32.
z-base-32 distingue tra maiuscole e minuscole?
L’alfabeto è in minuscolo e l’output è sempre in minuscolo. Questo decodificatore accetta anche input in maiuscolo e lo converte in minuscolo prima della decodifica.
Che cosa succede se la mia stringa termina con dei segni =?
z-base-32 non usa il padding, ma se una stringa termina con dei segni = il decodificatore si limita a ignorarli.
Come ottengo un hash WKD?
--with-wkd-hash.