Domingo, no he probado tu último código, y ni he compilado nunca para Android... Me asalta una duda. ¿Compilaste para cada uno por separado? ¿Es decir, hiciste un stream con la PC por un lado y otro con la app Android? Porque si es así, obviamente que resulta la cosa... cada uno trabaja con lo "suyo". El asunto se va a poner un poco más liado cuando tenga que guardar el contenido cifrado y recuperarlo en y desde diferentes dispositivos.
Prueba guardando el contenido cifrado ya sea desde la applicación PC o la móvil y en llevarlo y leerlo con la aplicación "opuesta". A ver que resulta.
Yo también he llegado a pensar que el conflicto con el Size en Android tuviera que ver con el gran tamaño y que quizá sea que es demasiado para la RAM y/o el espacio disponible en la SD (si es que hay una disponible). Suena como lo más probable.
Gaby, yo que vos no esperaría a que llegue ese día y me adelantaría en hacerlo lo más multiplataforma posible. ¡Quien sabe que te espera para ese entonces! Es preferible que prepares la cancha ahora que ya estás en el estadio y calentando... No vaya a ser cosa que al ponerte en el banco y llegue ese día te encuentre con el músculo en frio.
El trabajo justamente implica luchar contra el endianness y apoyo la idea de Domingo en considerar usar algún formato de codificación concreto para que al momento de descifrar proceder a hacer el paso inverso adecuado para la multiplataforma y no tener que lidiar con posibles conflictos de encoding. Algo como usar Base64 y/o UTF8 y hacer UTF8ToSys()/SysToUTF8() que dispone Lazarus (creería que Delphi tiene algo equivalente a estas funciones).
.....
Saludos,
Es que claro, ese es el problema inicial... el cifrado se hizo en una PC utilizando Delphi y todos felices de la vida, ahora el descifrado se requiere desde Android y es donde, como dicen en mi México lindo y querido, "la puerca torció el rabo", o lo que es lo mismo, ya se complicó la cosa...
Lo de que tengo que esperarme en 4 - 6 meses lo digo porque no puedo generar ahorita nuevos cifrados, si no hasta ese momento, pero claro que iré anticipándome al cambio necesario, claro, después de haber solucionado (espero) ésto primero
Totalmente cierto
El tipo "string" dejo de existir. No tenes mas un string; tenes un arreglo de bytes. Agarra el arreglo de bytes, y usa un determinado Encoding, y recien ahi tenes el "texto"
Me he dado cuenta de lo del famoso encoding de la clase TEncoding para especificar la manera en que quieres presentar o leer cierto texto. Lo que no sé (hasta que llegue a mi casa tendré acceso al código que me genera los problemas y donde estoy haciendo todas las pruebas) es cómo aplicarle el famoso encoding al resultado del descifrado que es cuando me genera el error y tampoco sé realmente si el cifrado se hizo con el encoding por default de Windows, Android lo pueda leer sin problemas...
Saludox !