Encodes bytes into printable base 64 using the *nix standard from crypt().
String $input: The string containing bytes to encode.
Integer $count: The number of characters (bytes) to encode.
String Encoded string
protected function base64Encode($input, $count) {
$output = '';
$i = 0;
do {
$value = ord($input[$i++]);
$output .= static::$ITOA64[$value & 0x3f];
if ($i < $count) {
$value |= ord($input[$i]) << 8;
}
$output .= static::$ITOA64[$value >> 6 & 0x3f];
if ($i++ >= $count) {
break;
}
if ($i < $count) {
$value |= ord($input[$i]) << 16;
}
$output .= static::$ITOA64[$value >> 12 & 0x3f];
if ($i++ >= $count) {
break;
}
$output .= static::$ITOA64[$value >> 18 & 0x3f];
} while ($i < $count);
return $output;
}