Salting / Hashing una contraseña

5

No tengo experiencia en seguridad, así que no estoy seguro de cuál es el mejor enfoque para esto, estoy desarrollando una aplicación para Android en la que los usuarios deberán iniciar sesión (todo local). Voy a almacenar la contraseña en una SharedPreference y encontré esto . Si lo comprendo correctamente, parece que no lo está agregando, por lo que estaba pensando en agregar un digest.update (byte []) después del 'MessageDigest digest = MessageDigest.getInstance ("SHA-256");' línea. ¿Es esa una buena manera de hacerlo? ¿O debería pasar en base + sal al hash como parámetro?

Además, ¿es un hash sal + lo suficientemente seguro? ¿O es mejor simplemente usar una función de cifrado real (las que estoy viendo ahora son bCrypt y pbkdf2)? Abierto a cualquier recomendación.

    
pregunta Spider 17.10.2015 - 01:04
fuente

1 respuesta

1

Depende de lo que está intentando proteger.

Si la contraseña se valida mediante un código que se ejecuta en la aplicación, está sujeta a manipulación, por lo que ninguna cantidad de cifrado o hashing protegerá contra la capacidad de ejecutar el código (manipulado) sin la contraseña.

Si el propósito de la contraseña es simplemente proporcionar un mínimo de protección contra el uso indebido ocasional (por ejemplo, no quiere que su esposa abra la aplicación), probablemente el hash + sal local esté bien.

    
respondido por el John Wu 17.10.2015 - 01:17
fuente

Lea otras preguntas en las etiquetas