Codificatore e Decodificatore Base32

Base32 rappresenta dati binari utilizzando 32 caratteri — le dieci cifre da 2 a 7 e le 26 lettere maiuscole, senza 0/O o 1/I per evitare errori di lettura. Questo lo rende ideale per qualsiasi cosa che un umano debba digitare o leggere ad alta voce: segreti TOTP a due fattori, codici voucher, identificatori non sensibili al maiuscolo. Questo strumento codifica dati binari o testo in Base32 e li decodifica, seguendo la RFC 4648 con padding opzionale.

Come codificare o decodificare Base32

  1. 1

    Incolla il testo o carica un file

    L'input è trattato come byte. UTF-8 è l'interpretazione predefinita per l'input di testo.

  2. 2

    Scegli la direzione

    Codifica per trasformare byte grezzi in una stringa Base32; decodifica per recuperare i byte.

  3. 3

    Configura il padding

    La RFC 4648 specifica il padding `=` fino a una lunghezza multipla di 8. Disattivalo per segreti TOTP e token compatti.

  4. 4

    Copia il risultato

    L'output codificato è in maiuscolo, con padding o senza padding in base alle tue impostazioni.

L’alfabeto RFC 4648

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 2 3 4 5 6 7

Nessun 0, nessun 1, nessun 8, nessun 9. Ogni carattere codifica 5 bit (2^5 = 32), quindi 5 byte di input diventano 8 caratteri di output.

Esempio pratico

Codificando la stringa ASCII foo (byte 0x66 0x6F 0x6F = 01100110 01101111 01101111):

  1. Suddividi in gruppi di 5 bit: 01100 11001 10111 10110 1111 (ultimo gruppo con padding)
  2. Mappa all’alfabeto: M Z X W 6
  3. Aggiungi padding === per raggiungere 8 caratteri: MZXW6===

Regole di padding e lunghezza

Byte di input Lunghezza output Padding
1 8 ======
2 8 ====
3 8 ===
4 8 =
5 8 (nessuno)

Varianti oltre la RFC 4648

  • Base32 Hex — Alfabeti 0-9A-V, utilizzato da NSEC3 in DNSSEC.
  • Base32 di Crockford — Alfabeti ottimizzati per la digitazione umana; sostituisce O0, I/L1 in decodifica. Utilizzato da ULID e alcune chiavi di licenza.

Questo strumento utilizza per impostazione predefinita la RFC 4648 standard.

Segreti TOTP

Il formato URI otpauth:// utilizzato da Google Authenticator e da ogni moderna app 2FA codifica il segreto condiviso in Base32 senza padding. Quando scansionate un QR per “Il mio servizio”, il parametro secret= è una stringa Base32. Decodificatelo con questo strumento per ispezionare i byte grezzi utilizzati dall’HMAC.

Domande frequenti

Base32 è non sensibile al maiuscolo e evita caratteri simili, il che è importante per qualsiasi cosa che un umano legga o digiti. Base64 è più denso (meno caratteri per gli stessi byte) ma richiede di distinguere I da l e 0 da O, il che fallisce nella scrittura a mano e nella stampa in piccolo.

La RFC 4648 dice di sì, ma la maggior parte dei consumatori nel mondo reale (app TOTP, librerie ULID, risolutori DNSSEC) accettano input senza padding. Questo strumento ti consente di scegliere; incolla in entrambe le forme e la decodifica dovrebbe funzionare.

La Base32 standard non ha 0, 1, 8 o 9 ed è sempre in maiuscolo. Se il tuo input ha questi, potrebbe essere la variante di Crockford o base32hex, non RFC 4648. Pulisci l’input o scegli la variante corretta.

No. La codifica e la decodifica avvengono nel browser. Né l’input né il risultato lasciano la tua macchina.

Strumenti correlati