sodium_base642bin

(PHP 7 >= 7.2.0, PHP 8)

sodium_base642bin — Decodifica una cadena codificada en base64 en binario sin tratar.

Descripción

function sodium_base642bin(#[\SensitiveParameter] string $string, int $id, string $ignore = ""): string

Convierte 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.

Parámetros

string

string; Cadena codificada.

id
ignore

Los caracteres a ignorar durante la decodificación (por ejemplo, los caracteres de espaciado).

Valores devueltos

La cadena decodificada.

Ejemplos

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"

Véase también

+add a note

User Contributed Notes

There are no user contributed notes for this page.