Ver Mensaje Individual
  #7  
Antiguo 29-12-2015
Reasen Reasen is offline
Miembro
NULL
 
Registrado: dic 2015
Ubicación: Barcelona
Posts: 140
Reputación: 9
Reasen Va por buen camino
Cita:
Empezado por bucanero Ver Mensaje
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
Responder Con Cita