Cita:
Empezado por bucanero
Hola,
basicamente en la función DELPHI esta linea asigna el valor de result, cuando no tiene aun nada guardado
Código Delphi [-]result := EncodeBase64(BytesOf(result), length(BytesOf(result)));
sustituyela por esta otra
Código Delphi [-] result := EncodeBase64(BytesOf(Res), length(BytesOf(Res)));
y la funcion PHP en algunas variables no estaba el $ de variable, y los indices en PHP empiezan en 0. Te dejo la función completa ya corregida
Código PHP:
function DecryptStr2($str,$key) { $p=0; $result = '';
$key_length = strlen($key); $encoded_data = base64_decode($str); $length = strlen($encoded_data); for ($i = 0; $i < $length; $i++) {
$result .= chr(ord($encoded_data[$i]) ^ ord($key[$p])); $p++; if ($p >= $key_length) { $p=0; } } return $result; }
con esto ya creo que funciona bien,
Un saludo
|
Me solucionaste el dia! Aparte ya me quedo claro que con PHP tengo que empezar por 0 a contar envez de 1, gracias!
en delphi me hice el lio con setlength ya que no sabia ya ni de donde venia el fallo cambie esa funcion que anteriormente estaba bien jajaja