Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


Almacenamiento de una contraseña

Estoy creando una aplicación para almacenar datos cifrados.

En esta pregunta, el OP si aconseja almacenar la credencial del usuario en claro.

¿Pero qué si quisiera almacenar una contraseña cifrada creada con SecretKeySpec (el que se utiliza para cifrar datos)? Desde mi entendimiento la clave secreta está cifrada.

Así que puedo almacenar y recuperar.

Nota: No estoy preguntando cómo almacenar las preferencias, sólo si mi comprensión de cómo SecretKeySpec funciona y cómo, tipo de, serializar y recuperar la contraseña cifrada.

EDIT : Lo siento, me olvidé de especificar que debe ser compatible con el nivel API 4.

  • Error al descifrar en java
  • Encriptación RSA en Android
  • ¿Cuál es el estado actual del cifrado de la aplicación de Android?
  • Problema al usar la huella dactilar de Android: IV necesaria al descifrar. Utilice IvParameterSpec o AlgorithmParameters para proporcionarlo
  • Cifrado de archivos con AES en Android
  • ¿Cómo utilizo una clave pública RSA generada en C # en Android?
  • Ocultar clave de cifrado en la aplicación de Android
  • Dispositivo virtual Android / Emulador de Android - Descifrado fallido
  • 3 Solutions collect form web for “Almacenamiento de una contraseña”

    Directamente desde el sitio web del desarrollador .

    ¡Sea inteligente acerca de la seguridad!

    Es importante entender que AccountManager no es un servicio de cifrado o un llavero. Almacena las credenciales de la cuenta tal como las pasa, en texto plano. En la mayoría de los dispositivos, esto no es una preocupación particular, ya que los almacena en una base de datos que sólo es accesible a la raíz. Pero en un dispositivo enraizado, las credenciales serían legibles por cualquier persona con acceso adb al dispositivo.

    Con esto en mente, no debe pasar la contraseña real del usuario a AccountManager.addAccountExplicitly (). En su lugar, debe almacenar un token criptográficamente seguro que sería de uso limitado para un atacante. Si sus credenciales de usuario protegen algo valioso, debe considerar cuidadosamente hacer algo similar.

    Recuerde: Cuando se trata de código de seguridad, siga la regla de "Mythbusters": ¡no intente esto en casa! Consulte a un profesional de seguridad antes de implementar cualquier código de cuenta personalizado.

    Ahora que las advertencias de seguridad están fuera del camino, es hora de volver a trabajar. Ya ha implementado la carne de su código de cuenta personalizado; Lo que queda es plomería.

    Guau. Realmente no creo que almacenar la contraseña del usuario en el claro es una opción seria.

    Echa un vistazo a AccountManager que fue diseñado para este propósito. Aunque obtuvo downvoted en la pregunta a la que está vinculado, SampleSyncAdapter realmente es un buen recurso para un ejemplo de AccountManager , y el único que conozco incluido en el SDK.

    Edit – sobre javax.crypto , creo que es una API de nivel inferior que AccountManager . De los documentos:

    Muchos servidores admiten alguna noción de un token de autenticación, que se puede utilizar para autenticar una solicitud al servidor sin enviar la contraseña real del usuario. (Las fichas de autenticación se crean normalmente con una solicitud separada que incluye las credenciales del usuario). AccountManager puede generar tokens de autenticación para las aplicaciones, por lo que la aplicación no necesita manejar las contraseñas directamente. Los tokens Auth normalmente son reutilizables y almacenados en caché por AccountManager, pero deben actualizarse periódicamente. Es la responsabilidad de las aplicaciones invalidar las fichas de autenticación cuando dejan de funcionar para que el AccountManager sepa que necesita regenerarlas.

    Odiaría lidiar con esto en el nivel de javax.crypto si no tuviera que hacerlo.

    U puede simplemente declarar el nombre de usuario y la contraseña como una declaración if si la condición coincide con u puede iniciar la actividad en caso de mal u simplemente puede generar un brindis de input.but malo u no puede recuperar la contraseña de allí si u perdido por cualquier medio pero yess U puede crear muchas contraseñas para un solo user.i agregó esta cosa a mi aplicación y trabajando bien para mí.

    FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.