PHP - Codificando en base64url en php

 
Vista:

Codificando en base64url en php

Publicado por Alberto (2 intervenciones) el 13/06/2012 10:48:58
Hola a todos

Tengo un problemilla a ver si alguien me puede echar una mano.
Estoy haciendo un sencillo script que únicamente me codifique en base64url una cadena de caracteres y me la decodifique. Evidentemente el resultado de primero codificar y luego decodificar deberia ser la cadena original ¿no? Pues me sale diferente. Este es el código:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?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));
} ?>
<?php
 
$prueba1="Prueba1";
$prueba1_base64=base64url_encode($prueba1);
$prueba1_base64_a_normal=base64url_encode($prueba1_base64);
 
echo "Esto es prueba1: $prueba1 <br> Esto es prueba1_base64: $prueba1_base64 <br> y esto deberia dar el texto original: $prueba1_base64_a_normal";
 
echo "Fin";
?>


Sin embargo la salida de esto es:

Esto es prueba1: Prueba1
Esto es prueba1_base64: UHJ1ZWJhMQ
y esto deberia dar el texto original: VUhKMVpXSmhNUQFin

¿Que hago mal?
Gracias, un saludo!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Codificando en base64url en php

Publicado por Alberto (2 intervenciones) el 13/06/2012 11:33:19
Me respondo yo mismo. Menudo despiste, en vez de usar decode he usado encode de nuevo.
Perdon por el despiste, un salduo y gracias!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar