2017-06-21 149 views
1

该数据库查询哈希值是一个问题两个部分:哈希的用户密码和安卓

  1. 如何在Android应用程序散列用户密码和散列存储在数据库中?

  2. 如何转换用户登录密码并检查数据库中已存储的散列?

注意:我只对与Android(Java)相关的代码感兴趣。如果你可以解释如何使用Android Studio来做到这一点,那就好多了。

+1

你想存储密码的数据库在哪里?根据我的经验,密码的检查将在服务器端进行,而不是在您的本地Android手机上进行。 –

+1

是否要将用户密码存储在本地数据库或某些远程服务器? – sumit

+0

密码将存储在服务器端。但是,如果我想存储本地数据库,你能给出答案吗? – Jatin

回答

1

您可以使用链接的代码计算字符串的PBKDF2 function in Android散列。如果要在本地存储密码,请将散列的字符串存储在本地SQL数据库中。如果要转换登录密码,只需输入用户输入的密码,然后在本地数据库中执行SQL查询,以将新的散列密码与存储在数据库中的密码进行比较。但是,我建议不要将密码存储在手机上,而是使用远程数据库。根据您使用的数据库,如何存储和获取数据的答案会有所不同。但是,您仍然可以用相同的方式计算BPKDF2哈希。

+0

不,请不要推荐MD5进行密码散列,它速度太快,可以用[每秒20 Giga MD5](http://thepasswordproject.com/oclhashcat_benchmarking)进行暴力破解。推荐的密码哈希函数是BCrypt,SCrypt,PBKDF2和Argon2。 – martinstoeckli

+0

好的,我不知道。谢谢你的澄清!编辑答案反映了这一点。 – JohnDoe

+0

@JohnDoe我从理论上得到了这个概念,但是你能否提供我的代码。你提供的链接,使我进一步链接,并没有提供任何代码。 – Jatin