Ver Mensaje Individual
  #3  
Antiguo 29-12-2015
bucanero bucanero is offline
Miembro
 
Registrado: nov 2013
Ubicación: Almería, España
Posts: 208
Reputación: 13
bucanero Va camino a la fama
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
Responder Con Cita