Base64 – Safe URL

O ile funkcja base64_encode() znana jest dobrze, tak sposób bezpiecznego zakodowania/odkodowania adresu url to już inna bajka, gdzie rawurlencode/rawurldecode nie zawsze jest dobrym rozwiązaniem.

Tutaj zamieszczę kilka gotowych sposobów, niektóre dość wydumane na potrzeby dekodowania z zewnętrznych źródeł.

Przyjemnie i elegancko (w obie strony):

[tcsublocker]

==============BASE64DECODE/ENCODE==================

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));

}

==============BASE64DECODE/ENCODE==================

Równie przyjemnie:

function base64UrlEncode($data)
{
  return strtr(rtrim(base64_encode($data), '='), '+/', '-_');
}

function base64UrlDecode($base64)
{
  return base64_decode(strtr($base64, '-_', '+/'));
}

http://malevolent.com/weblog/archive/2008/08/29/php-base64-url-encode-decode/

[/tcsublocker]

Tagi: , ,
Napisano w Skryptorium