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