|
1
1
实际上这里有两个问题: 1) 可以将哈希存储在文件中吗 将密码保存在文件中并不比将其存储在数据库中好或坏。文件的要点是,它应该存储在WWW根目录之外。大多数提供者提供一个私有目录,代码可以访问该目录,但HTTP请求无法访问该目录。 2) 使用SHA-256散列密码安全吗 不应该直接使用SHA-*和MD5来散列密码,因为它们太快,因此很容易被强制使用。相反,应该使用像BCrypt这样的慢函数, PBKDF2 或 SCrypt ,它们提供了成本因素并自动添加安全的盐。 PHP提供 a password API 具有两个功能 password_hash() 和 password_verify() 。使用它们,它们是未来的证明,将生成BCrypt哈希。
如果您运行的是没有此API的旧版本PHP,请升级。如果出于某种原因你不能,请退房 password_compat . |
|
|
2
0
理想情况下,您应该将它们保存在安全的SQL数据库中,或类似的数据库中;散列应该是第二道防线。 因此,如果你的数据库数据被泄露,而黑客掌握了它,他们将无法登录到每个人的帐户。 通常,任何类型的哈希的过程都是,一旦它被推出,它将是最安全的,然后随着时间的推移,随着人们的聚集和计算机能力的增强,哈希将被“打破”,通常通过Rainbow表的集合,并最终形成一个网站,例如 THIS 这就是Md5的情况。 如果您要将它们存储在.txt文件中,那么在您已经完成的工作的基础上,您可以做的最起码的事情就是确保保存哈希密码。 对散列密码进行Salting可降低其被破解的几率。请参阅下面的链接,了解您将如何对哈希进行Salting。 Great video by Computerphile on YouTube about the topic |