Cifrar datos entre C #, ANDROID e IPHONE
Estoy desarrollando una aplicación para Windows (C #), Iphone, Android y Iphone que se conectará a un SOAP WebService, que almacena información en una base de datos.
Estoy buscando una manera de cifrar / descifrar la información entre esas plataformas. ¿Hay alguna biblioteca de plataformas cruzadas?
- Rendimiento de la aplicación de Phonegap frente al rendimiento de la aplicación nativa
- Obtener UserId y la contraseña de la aplicación instalada - ¿Permiso o no?
- OpenGL en Android versus iOS: optimizaciones, y donde difieren
- Puede una página web en un navegador móvil preguntar / obtener la ubicación de los usuarios desde el teléfono?
- Analizar archivo xml de Android en lugar de iOS .strings
- Código seguro para codificar una contraseña en una aplicación para dispositivos móviles
- OpenGL para Android y iPhone
- Cómo compartir código entre Android e iOS
- Android equivalente al iPhone indexado UITableView
- ¿Está QT disponible para plataformas Android y iPhone?
- Cuarzo 2D o OpenGL ES? Pros y contras a largo plazo, posibilidad de migración a otras plataformas
- Uso de Phonegap para el desarrollo de aplicaciones nativas
- UML: Cómo modelar la interfaz de usuario y los hilos de fondo para aplicaciones móviles (iPhone / iOS, Android)
Como dice @Sascha, AES está disponible en casi todas las plataformas. Lo que tienes que hacer es asegurarse de que todo lo demás sea el mismo en ambas plataformas:
- El mismo modo; Utilice el modo CBC o CTR.
- El mismo IV; Establecerlo explícitamente, no utilice el valor predeterminado, ya que a menudo será diferente en los diferentes sistemas.
- La misma llave; Obvio, pero necesitan ser iguales en el nivel de byte porque el texto se puede codificar diferentemente en sistemas diferentes. Indique explícitamente la codificación que está utilizando.
- El mismo relleno; Para AES utilizar PKCS7, de nuevo no se basan en el valor predeterminado que puede ser diferente en los diferentes sistemas.
Lo que usted eligió establecer las cosas de forma explícita y no dependen de los valores predeterminados. Los valores por defecto pueden diferir entre los sistemas y cualquier diferencia causará el fallo de desencriptación.
¿Has mirado MonoTouch y MonoDroid de Xamarin ?
El uso de estas bibliotecas que probablemente podría utilizar sólo. Net XML Servicios entre los tres y compartir todo su código de backend.
Me gustaría recomendar el Advanced Encryption Standard (AES). Es muy seguro y estoy seguro de que cada plataforma tiene una buena implementación por defecto de este algoritmo.
Echa un vistazo a los detailes: AES en wikipedia
La última vez que desarrollé una aplicación para iPhone y Android, necesito obtener y publicar datos en un WebService de .NET Soap. Utilizo AES para cifrar / descifrar los datos
Puede descargar el proyecto de ejemplo de archivo zip que he seguido para hacer el cifrado / desencriptación en objective-c y .NET desde este enlace.
http://dotmac.rationalmind.net/2009/02/aes-interoperability-between-net-and-iphone/
- ¿Cómo enfocar y mostrar el teclado virtual cuando se muestra un EditText en la barra de acción?
- Notificación push en Amazon Android