Codificador y decodificador de Base32

Decodificar Base32

Acerca de Base32

¿Qué es Base32?

Base32 según RFC 4648 agrupa bytes en valores de cinco bits representados por A-Z y 2-7, y rellena con = el último bloque de ocho caracteres. El decodificador ignora espacios y mayúsculas, pero valida longitud, relleno y bits sobrantes.

¿Por qué usar Base32?

Usa Base32 para tokens introducidos por personas o sistemas que prefieran un alfabeto alfanumérico sin distinción de mayúsculas. Aumenta los datos cerca de un 60 %, no aporta secreto ni detección de errores y no es compatible con Crockford Base32 ni Base32hex.

Base32 en JavaScript

// npm install hi-base32
const base32 = require('hi-base32');

const encoded = base32.encode('Hello');
console.log(encoded);
// Output: JBSWY3DP

const decoded = Buffer.from(base32.decode.asBytes('JBSWY3DP')).toString('utf8');
console.log(decoded);
// Output: Hello
				

Base32 en Go

package main

import (
	"encoding/base32"
	"fmt"
)

func main() {
	encoded := base32.StdEncoding.EncodeToString([]byte("Hello"))
	fmt.Println(encoded)
	// Output: JBSWY3DP

	decoded, _ := base32.StdEncoding.DecodeString("JBSWY3DP")
	fmt.Println(string(decoded))
	// Output: Hello
}
				

Base32 en PHP

<?php
// composer require paragonie/constant_time_encoding
require 'vendor/autoload.php';

use ParagonIE\ConstantTime\Encoding;

$encoded = Encoding::base32EncodeUpper("Hello");
echo $encoded . "\n";
// Output: JBSWY3DP

$decoded = Encoding::base32DecodeUpper("JBSWY3DP");
echo $decoded . "\n";
// Output: Hello