sodium_bin2base64
(PHP 7 >= 7.2.0, PHP 8)
Encodes a raw binary string with base64.
Description
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
stringRaw binary string.
idSODIUM_BASE64_VARIANT_ORIGINALfor standard (A-Za-z0-9/\+) Base64 encoding.SODIUM_BASE64_VARIANT_ORIGINAL_NO_PADDINGfor standard (A-Za-z0-9/\+) Base64 encoding, without=padding characters.SODIUM_BASE64_VARIANT_URLSAFEfor URL-safe (A-Za-z0-9\-_) Base64 encoding.SODIUM_BASE64_VARIANT_URLSAFE_NO_PADDINGfor URL-safe (A-Za-z0-9\-_) Base64 encoding, without=padding characters.
Return Values
Base64-encoded string.
Examples
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 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"