ForHosting KIT · Strumenti per sviluppatori

Codificatore e decodificatore Base32

Codifichi testo in Base32 RFC 4648, l'alfabeto A–Z e 2–7 dei segreti di autenticazione: Hello diventa JBSWY3DP. In decodifica accetta minuscole e a capo, ma rifiuta qualsiasi simbolo estraneo. Gratis nel suo browser.

  • Gratis
  • Funziona nel suo browser
  • Senza registrazione
  • I suoi dati restano sul dispositivo
Usalo da WebAPIEmailTelegramApp presto
Se inserisce
Testo
Hello
Modalità di calcolo
Encode
Ottiene
Risultato
JBSWY3DP
Lunghezza
8
Byte di input
5
Alfabeto
RFC4648

Base32 trasforma un testo UTF-8 qualsiasi in una stringa compatta formata solo dalle lettere dalla A alla Z e dalle cifre da due a sette, con il riempimento opzionale di segni di uguale che porta ogni blocco a un confine di otto caratteri. A differenza di Base64, l'alfabeto evita il più, la barra e gli altri segni di punteggiatura che spezzano URL, argomenti di shell o file system insensibili alle maiuscole; per questo i seed segreti, le chiavi TOTP e molti token di protocollo vengono ancora distribuiti in Base32. Questa capacità implementa da cima a fondo l'alfabeto della sezione sei di RFC 4648: la modalità di codifica legge la stringa in chiaro come byte UTF-8 ed emette un risultato Base32 con padding; la modalità di decodifica accetta Base32 con maiuscole e minuscole miste, elimina gli spazi, convalida ogni carattere e restituisce il testo UTF-8 originale.

Come il Base32 di RFC 4648 impacchetta i bit in A-Z e 2-7

La sezione sei di RFC 4648 definisce un alfabeto di trentadue simboli: le ventisei lettere latine maiuscole seguite dalle sei cifre da due a sette. La codifica parte dai byte grezzi. Per il testo, questa capacità converte prima la stringa in UTF-8, così i caratteri multibyte restano portabili tra lingue e piattaforme.

Quei byte vengono poi letti come un flusso continuo di bit. Ogni cinque bit selezionano un indice dell'alfabeto e producono un carattere Base32. Cinque byte di input forniscono quaranta bit, che si dividono esattamente in otto caratteri Base32; i resti più corti lasciano un quintetto finale parziale che viene riempito con zeri a destra e poi completato con il padding di segni di uguale, in modo che la lunghezza totale sia sempre un multiplo di otto.

La decodifica inverte la corrispondenza: ogni carattere non di padding contribuisce cinque bit, i byte completi vengono emessi non appena si accumulano otto bit e il padding finale viene controllato nella posizione consentita. Gli spazi vengono ignorati, quindi i token su più righe incollati da un'email funzionano comunque. Le lettere minuscole vengono convertite in maiuscole prima della ricerca.

Cosa invia e cosa riceve

Invii un campo stringa obbligatorio chiamato text e un campo opzionale mode impostato su encode o decode. La modalità encode tratta text come contenuto UTF-8 in chiaro e restituisce una stringa result nell'alfabeto RFC 4648 con padding. La modalità decode tratta text come Base32, normalizza maiuscole e spazi, convalida l'alfabeto e restituisce la stringa UTF-8 recuperata in result.

Entrambe le direzioni riportano mode, il text originale, result, un campo length per la stringa di output principale, le etichette alphabet e charset, un flag padding e una breve stringa di riferimento allo standard, così i client possono verificare quale profilo hanno raggiunto. I fallimenti di convalida non consumano saldo prepagato. I controlli classici includono la codifica di Hello in JBSWY3DP, la codifica della singola lettera f in MY con sei segni di uguale di padding e la decodifica di un blocco noto con padding di nuovo in foobar.

Dove compare la codifica Base32 nel lavoro reale

I segreti delle password monouso basate sul tempo in RFC 6238 e nelle app authenticator viaggiano quasi sempre in Base32, così gli utenti possono digitarli senza confondere lo zero con la lettera O o l'uno con la lettera I come farebbero con Base64. Il DNS e alcuni sistemi di configurazione di rete preferiscono alfabeti simili a Base32 per etichette opache che devono sopravvivere alla normalizzazione delle maiuscole.

I deep link mobile e i token offline brevi scelgono spesso Base32 perché l'insieme di simboli è insensibile alle maiuscole dopo la normalizzazione ed evita i caratteri riservati agli URL. I servizi di assistenza incollano segreti su più righe dai ticket e hanno bisogno di tolleranza verso gli spazi senza accettare simboli spazzatura che produrrebbero una chiave sbagliata. Chi scrive materiali didattici sugli schemi di codifica vuole una pagina dedicata a Base32 invece di seppellirla sotto una landing generica su Base64, perché intento di ricerca e regole dell'alfabeto differiscono.

Se le serve Base64 con alfabeto URL-safe, la codifica percentuale per gli URL o la conversione di interi multibase, li tratti come intenti di ricerca e landing separati invece di sovraccaricare questa pagina del codificatore Base32.

Scambio di segreti TOTP e authenticator

Codifichi i nuovi segreti condivisi come Base32 RFC 4648 per le app authenticator, oppure decodifichi i seed Base32 incollati durante il recupero e l'importazione degli account.

Token sicuri per maiuscole in configurazioni e link

Produca etichette Base32 che sopravvivono alla normalizzazione delle maiuscole ed evitano la punteggiatura + / quando incorpora identificatori opachi in nomi stile DNS o deep link.

Quale alfabeto Base32 usa questo strumento?

La sezione sei di RFC 4648: maiuscole A-Z e cifre 2-7, con padding '=' fino a un multiplo di otto caratteri. Non è Base32hex e non è Crockford Base32.

Posso sia codificare sia decodificare?

Sì. Imposti mode su encode (predefinito) per trasformare testo UTF-8 in chiaro in Base32, oppure mode su decode per recuperare il testo da una stringa Base32.

Il Base32 in minuscolo è accettato in decodifica?

Sì. Le lettere vengono convertite in maiuscole prima della ricerca nell'alfabeto. Gli spazi vengono eliminati, quindi gli incollaggi su più righe funzionano comunque.

Quanto costa?

Lo strumento nel browser è gratuito e gira in locale.

Perché il risultato Base32 finisce con dei segni di uguale?

Sono il riempimento, così la lunghezza totale è sempre un multiplo di otto. Cinque byte riempiono esattamente otto caratteri, come Hello in JBSWY3DP, mentre una sola lettera f diventa MY seguita da sei segni di uguale.

Tutto quello che vedi in questa pagina è disponibile anche via API. Questa sezione è per i team che vogliono integrarlo nei propri sistemi; chi non ne ha bisogno può semplicemente usare lo strumento qui sopra.

POSThttps://api.kit.forhosting.com/enc/base32

Autenticazione con Bearer token: un POST mette in coda l'attività e il risultato arriva via webhook o link firmato.

curl -X POST https://api.kit.forhosting.com/enc/base32 \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"text":"Hello"}'
{
  "text": "Hello"
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "enc.base32",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

L'API è asincrona: ricevi subito un task_id e puoi fare polling fino a 1 richiesta al secondo.

per richiesta$0.002

Prezzo pubblicato, senza token né crediti. Se l'attività fallisce, non paghi.

HTTPCodiceSignificato
401unauthorizedChiave API mancante o non valida: controlla l'header Authorization.
402insufficient_balanceCredito esaurito: ricarica per continuare a eseguire attività.
404unknown_typeTipo di attività sconosciuto: controlla il campo type della richiesta.
429rate_limitedTroppe richieste in poco tempo: rallenta e riprova tra qualche secondo.

Un simbolo non valido in decodifica fallisce subito con invalid_input, così un incollaggio errato non corrompe mai i dati in silenzio.

Come il Base32 di RFC 4648 impacchetta i bit in A-Z e 2-7

Qualsiasi carattere al di fuori di A-Z, delle cifre da due a sette e del segno di uguale di padding genera un errore invalid_input che indica la posizione e il simbolo incriminato. Questo rifiuto rigoroso è intenzionale: una sostituzione silenziosa nasconderebbe errori di trascrizione nei segreti degli authenticator e nei formati di trasmissione. L'intero percorso è lavoro deterministico su interi senza virgola mobile, senza rete, senza semi casuali e senza orologi di sistema, quindi input identici producono sempre JSON identico. Lo standard implementato in questa pagina è il classico alfabeto Base32 di RFC 4648, non Base32hex né Crockford Base32, che usano tabelle di simboli diverse e spezzerebbero l'interoperabilità con TOTP e molte API legacy.

Cosa invia e cosa riceve

Quando mode viene omesso, il valore predefinito è encode, così un singolo payload svolge comunque un lavoro utile. La codifica riporta anche input_bytes; la decodifica riporta output_bytes. Text mancante, oggetti non stringa, valori di mode non supportati, stringhe più lunghe del massimo documentato, caratteri Base32 non validi, padding dopo un carattere non di padding, troppi segni di padding o lunghezze non multiple di otto falliscono tutti con invalid_input e un messaggio chiaro in inglese. Il prezzo delle chiamate API riuscite è la base pubblicata di $0.002 per elemento.

Dove compare la codifica Base32 nel lavoro reale

I payload QR di provisioning e i codici di backup richiedono quindi un percorso di codifica affidabile quando genera le chiavi e un percorso di decodifica rigoroso quando le importa. Poiché questa capacità è un motore di parse puro, il prezzo API è la base pubblicata di $0.002 per elemento riuscito e la convalida fallita non consuma saldo.

Vettori di test golden multilinguaggio

Generi fixture di codifica e decodifica che corrispondono a Python, Go e OpenSSL Base32, così la CI multilinguaggio condivide un'unica verità di riferimento.

Cosa succede se la stringa Base32 contiene un carattere non valido?

La decodifica fallisce con invalid_input, indicando la posizione e il carattere illegale. I fallimenti di convalida non vengono addebitati.

Leggi la documentazione completa del KIT →