在Android中使用指纹认证时,用户凭证应存储在哪里?

14
如标题所述,我正在制作一款应用程序,允许用户使用指纹认证登录。 我遇到的问题是在哪里存储他们提交的凭据?
流程将是 -> 用户首次使用凭据登录 -> 启用指纹验证并存储这些凭据 -> 验证指纹,然后访问存储的凭据。
我考虑使用SharedPreferences,但如果设备已经root,则很容易访问这些内容。
那么,在哪里存储这些凭据才是最安全和最可靠的,以避免在应用程序之外访问它们?
编辑:
我正在使用此包装器来处理指纹验证 https://android-arsenal.com/details/1/4493

1
请参考以下链接以更好地使用指纹认证:http://www.techotopia.com/index.php/An_Android_Fingerprint_Authentication_Tutorial#Accessing_the_Android_Keystore_and_KeyGenerator - Febi M Felix
2
我建议使用AndroidKeystore来存储加密密钥。该存储中的密钥可以与指纹认证“链接”(请参见链接页面上的“要求用户对密钥使用进行身份验证”部分)。 - Robert
1个回答

1

我使用这个库:https://github.com/JesusM/FingerprintManager。我的做法是,在用户登录后,我将用户名和密码组合成一个字符串username:password,然后使用该库进行加密。下次用户登录应用程序时,我将使用此库进行解密。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接