PHP fix base64_decode incorrect decoding error
Fix a garbled base64 decoded string by trying this base64 url decoder:
<?php
function base64url_decode($base64url) {
// atob(s.replace(/-/g, '+').replace(/_/g, '/'));
$base64 = strtr($base64url, '-_', '+/');
$plain_text = base64_decode($base64);
return $plain_text;
}
Why? The mapping table of the base64 implementations vary. For example, the Gmail API uses "-" and "_" as the last two characters (RFC 4648).
https://en.wikipedia.org/wiki/Base64#Implementations_and_historyKeywords: base64, base64_encode, base64_decode, atob, btoa, JavaScript
Comments
Leave a Reply