Skip to content

Instantly share code, notes, and snippets.

@muffycompo
Created July 10, 2014 23:05
Show Gist options
  • Save muffycompo/a378dcfa73c3cf354eb8 to your computer and use it in GitHub Desktop.
Save muffycompo/a378dcfa73c3cf354eb8 to your computer and use it in GitHub Desktop.
PHP Helper functions for Safe Base64 URL encode
<?php
function base64url_encode($data) {
return rtrim(strtr(base64_encode($data), '+/', '-_'), '=');
}
function base64url_decode($data) {
return base64_decode(str_pad(strtr($data, '-_', '+/'), strlen($data) % 4, '=', STR_PAD_RIGHT));
}
?>
@raat1979
Copy link

shortest possible I could come up with to pad correctly was

str_repeat("=",-strlen($data) & 3)

wrapping it:
return base64_decode(strtr($b64url, '-_', '+/').str_repeat("=",-strlen($str) & 3));

@malau1
Copy link

malau1 commented Jan 16, 2020

@raat1979 thank you !

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment