

Comment stocker en toute sécurité les clés dans AndroidKeyStore à l'aide d'un mot de passe ?
L'éditeur php Baicao vous propose un guide sur la façon de stocker en toute sécurité des clés dans AndroidKeyStore à l'aide de mots de passe. Dans le développement d’applications mobiles, la protection de la sécurité de vos clés est cruciale. AndroidKeyStore fournit un moyen fiable de stocker les clés pour garantir qu'elles ne peuvent pas être obtenues par des applications malveillantes ou des attaquants. Ce guide expliquera comment utiliser un mot de passe pour crypter une clé et la stocker en toute sécurité dans AndroidKeyStore afin de fournir le plus haut niveau de sécurité. Que vous soyez débutant ou développeur expérimenté, vous pouvez facilement suivre ce guide étape par étape pour atteindre cet objectif. commençons!
Contenu de la question
J'essaie de créer une application qui permet aux utilisateurs de stocker des mots de passe. Désormais, je permets aux utilisateurs de crypter leurs mots de passe de deux manières, la première est biométrique et l'autre est un mot de passe
J'ai pu autoriser le mot de passe en créant la clé dans AndroidKeyStore et en définissant setUsetAuthenticationRequired(true)
来实现 biometrics
le cryptage lors de la création de la clé, puis en utilisant BiometricsManager.
Cependant, je ne sais pas comment implémenter un mot de passe. J'ai essayé de rechercher PBE
le cryptage mais il n'y a pas grand chose dans la documentation Android. Quelle est la solution la plus sûre et la meilleure pour cette situation ? S'il y a des liens pour le même, je serais reconnaissant :)
(Remarque : si j'utilise le cryptage PBE et que je stocke les données cryptées (plusieurs noms d'utilisateur et mots de passe) dans RoomDB, comment puis-je Je vérifie si le mot de passe est correct la prochaine fois que l'application s'exécute et s'il n'y a rien dans la base de données à décrypter et tester)
J'ai également trouvé un moyen de créer une clé, puis de stocker la clé en tant qu'entrée et d'utiliser https://developer.android.com/reference/java/security/KeyStore.PasswordProtection pour protéger l'entrée. Faites-moi savoir s'il s'agit d'une solution suffisamment sécurisée ou s'il existe une meilleure solution.
Merci !
Solution de contournement
Si vous souhaitez stocker des mots de passe dans Room, vous devez exécuter une fonction de hachage, puis stocker le hachage du mot de passe. Quelle que soit la longueur de votre mot de passe, la valeur de hachage est de taille fixe.
Pour comparer le mot de passe saisi avec le mot de passe stocké dans la base de données, vous hachez l'entrée et la comparez avec la valeur de hachage stockée dans la base de données. Parce que si vous appliquez une fonction de hachage à la même chaîne, vous obtiendrez le même résultat. S'il y a au moins 1 symbole erroné, le hachage généré sera complètement différent.
Vous pouvez vérifier ce et utiliser l'algorithme PBKDF2. Plus de détails sur la façon de choisir une fonction de hachage et sur ce qu'il ne faut pas utiliser peuvent être trouvés ici
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)