sodium_bin2base64

(PHP 7 >= 7.2.0, PHP 8)

sodium_bin2base64 — Encodes a raw binary string with base64.

Description

function sodium_bin2base64(#[\SensitiveParameter] string $string, int $id): string

Converts a raw binary string into a base64-encoded string. Unlike base64_encode(), sodium_bin2base64() is constant-time (a property that is important for any code that touches cryptographic inputs, such as plaintexts or keys) and supports multiple character sets.

Parameters

string

Raw binary string.

id

Return Values

Base64-encoded string.

Examples

Example #1 sodium_bin2base64() example

<?php
$string = 'This is an encoded string';
echo sodium_bin2base64($string, SODIUM_BASE64_VARIANT_ORIGINAL);
?>

The above example will output:

VGhpcyBpcyBhbiBlbmNvZGVkIHN0cmluZw==

Example #2 Example of the id parameter

<?php
$binaryString = sodium_hex2bin('aeb6798fef4e5184ff3b5596af753487');
var_dump(sodium_bin2base64($binaryString, SODIUM_BASE64_VARIANT_ORIGINAL));
var_dump(sodium_bin2base64($binaryString, SODIUM_BASE64_VARIANT_ORIGINAL_NO_PADDING));
var_dump(sodium_bin2base64($binaryString, SODIUM_BASE64_VARIANT_URLSAFE));
var_dump(sodium_bin2base64($binaryString, SODIUM_BASE64_VARIANT_URLSAFE_NO_PADDING));
?>

The above example will output:

string(24) "rrZ5j+9OUYT/O1WWr3U0hw=="
string(22) "rrZ5j+9OUYT/O1WWr3U0hw"
string(24) "rrZ5j-9OUYT_O1WWr3U0hw=="
string(22) "rrZ5j-9OUYT_O1WWr3U0hw"

See Also