Cómo cifrar en el dispositivo y descifrar en el lado del server con key encriptada

¿Cuál es la mejor práctica para codificar la cadena con key de encryption (como contraseña) en el dispositivo

lado (Android e ios). Y para decodificar esa cadena codificada en el lado del server con el encryption

Tecla utilizada en el lado del dispositivo.

Puedes probar uno de los siguientes

  • Encriptación RSA:

    Cifrar usando la key pública en el dispositivo iOs y descifrarlo usando una key privada en el service web

  • Alojar el service web con certificates SSL.

  • Configura una VPN protegida y accede al service a través de la VPN.

Desde que mencionó sobre el encryption de passwords. Aletar y hashing, la contraseña es la más preferida.

¿No sería mejor utilizar un protocolo relacionado con SSL / TLS (por ejemplo, ssh, https, etc.)? Esos protocolos implementan un mecanismo de negociación para elegir el algorithm de encriptación para la transferencia de datos.

Es posible que desee leer (Android) http://developer.android.com/training/articles/security-ssl.html y (iOS) https://developer.apple.com/library/mac/#documentation/security/ conceptual / cryptoservices / SecureNetworkCommunicationAPIs / SecureNetworkCommunicationAPIs.html