Vai al contenuto
🛠️ToolsShed

Codificatore/Decodificatore Base32

Codifica e decodifica testo usando Base32.

Informazioni sullo strumento

Base32 è uno schema di codificazione da binario a testo che converte i dati grezzi in un alfabeto di 32 caratteri (A-Z e 2-7), consentendo la trasmissione sicura di informazioni binarie attraverso sistemi basati su testo. A differenza di Base64, che è più compatto, Base32 privilegia la robustezza e la leggibilità. Il suo insieme limitato di caratteri evita confusione tra lettere simili (come 'O' e '0') e funziona in modo affidabile in diversi codifiche di caratteri. Base32 è particolarmente prezioso nei sistemi di autenticazione (token TOTP per l'autenticazione a due fattori), nei file di zona DNS, nei sistemi di denominazione di file e ovunque la rappresentazione di dati sicura e inequivocabile sia critica.

Per utilizzare questo strumento, incolla o digita i tuoi dati nel campo di input e seleziona 'Codifica' per convertire testo o dati binari grezzi nel formato Base32, o 'Decodifica' per convertire il testo codificato in Base32 alla sua forma originale. Lo strumento gestisce facilmente sia gli input di testo che quelli binari, elaborando automaticamente i dati e visualizzando il risultato istantaneamente. I casi d'uso comuni includono la generazione o la verifica di codici di autenticazione a due fattori, l'incorporamento sicuro di dati negli URL, la conversione di file binari per l'archiviazione o la trasmissione, e la garanzia dell'integrità dei dati quando si spostano informazioni tra sistemi con supporto di caratteri diverso.

Un vantaggio di Base32 rispetto ad altri codifiche è la sua insensibilità alle maiuscole—le versioni maiuscole e minuscole si decodificano in modo identico, riducendo gli errori di trascrizione nell'immissione manuale. La codificazione espande la dimensione dei dati di circa il 60%, il che è più grande di Base64 ma comunque gestibile per la maggior parte delle applicazioni. Se stai lavorando con app di autenticazione, distribuendo codici QR con dati codificati o hai bisogno di una codificazione facile da usare che minimizzi l'ambiguità, Base32 è spesso la scelta ideale.

Domande Frequenti

Implementazione del Codice

import base64

# Encode bytes to Base32
data = b"Hello, World!"
encoded = base64.b32encode(data).decode()
print("Encoded:", encoded)  # JBSWY3DPEB3W64TMMQ======

# Decode Base32 back to bytes
decoded = base64.b32decode(encoded)
print("Decoded:", decoded.decode())  # Hello, World!

# Base32 for TOTP secret generation
import os
totp_secret = base64.b32encode(os.urandom(20)).decode().rstrip("=")
print("TOTP Secret:", totp_secret)  # e.g. JBSWY3DPEB3W64TM

# Decode without padding (common in authenticator apps)
def b32decode_nopad(s: str) -> bytes:
    pad = (8 - len(s) % 8) % 8
    return base64.b32decode(s.upper() + "=" * pad)

Comments & Feedback

Comments are powered by Giscus. Sign in with GitHub to leave a comment.