(PHP 7 >= 7.2.0, PHP 8)
sodium_base642bin — Decodifica una cadena codificada en base64 en binario sin tratar.
$string, int $id, string $ignore = ""): stringConvierte una cadena codificada en base64 en binario sin tratar. A diferencia de base64_decode(), sodium_base642bin() es de tiempo constante (una propiedad importante para cualquier código que manipule entradas criptográficas, tales como textos en claro o claves) y soporta múltiples conjuntos de caracteres.
stringstring; Cadena codificada.
idSODIUM_BASE64_VARIANT_ORIGINAL para el estándar (A-Za-z0-9/\+)
codificado en base64.
SODIUM_BASE64_VARIANT_ORIGINAL_NO_PADDING para el estándar (A-Za-z0-9/\+)
codificado en base64, sin caracteres de relleno =.
SODIUM_BASE64_VARIANT_URLSAFE para la codificación Base64 segura para URL (A-Za-z0-9\-_).
SODIUM_BASE64_VARIANT_URLSAFE_NO_PADDING para la codificación Base64 segura para URL (A-Za-z0-9\-_),
sin caracteres de relleno =.
ignoreLos caracteres a ignorar durante la decodificación (por ejemplo, los caracteres de espaciado).
La cadena decodificada.
Ejemplo #1 Ejemplo de sodium_base642bin()
<?php
$string = 'VGhpcyBpcyBhbiBlbmNvZGVkIHN0cmluZw==';
echo sodium_base642bin($string, SODIUM_BASE64_VARIANT_ORIGINAL);
?>El ejemplo anterior mostrará:
This is an encoded string
Ejemplo #2 Ejemplo del parámetro id
<?php
var_dump(sodium_bin2hex(sodium_base642bin('rrZ5j+9OUYT/O1WWr3U0hw==', SODIUM_BASE64_VARIANT_ORIGINAL)));
var_dump(sodium_bin2hex(sodium_base642bin('rrZ5j+9OUYT/O1WWr3U0hw', SODIUM_BASE64_VARIANT_ORIGINAL_NO_PADDING)));
var_dump(sodium_bin2hex(sodium_base642bin('rrZ5j-9OUYT_O1WWr3U0hw==', SODIUM_BASE64_VARIANT_URLSAFE)));
var_dump(sodium_bin2hex(sodium_base642bin('rrZ5j-9OUYT_O1WWr3U0hw', SODIUM_BASE64_VARIANT_URLSAFE_NO_PADDING)));
?>El ejemplo anterior mostrará:
string(32) "aeb6798fef4e5184ff3b5596af753487" string(32) "aeb6798fef4e5184ff3b5596af753487" string(32) "aeb6798fef4e5184ff3b5596af753487" string(32) "aeb6798fef4e5184ff3b5596af753487"
Ejemplo #3 Ejemplo del parámetro ignore
<?php
$string = <<<'STR'
VGhpcyBpcy
BhbiBlbmNv
ZGVkIHN0cm
luZw==
STR;
var_dump(sodium_base642bin($string, SODIUM_BASE64_VARIANT_ORIGINAL, " \r\n"));
?>El ejemplo anterior mostrará:
string(25) "This is an encoded string"