在没有数据库的情况下使用PHP加密密码的最安全方法是什么

Gla*_*ius 2 php security authentication passwords cryptography

我正在开发一个应用程序,我不希望任何人弄清楚管理员用户名/密码的算法.

我想首先澄清一下:

  1. 网站安全性是否仅基于算法的复杂性?
  2. 什么是最安全的方法,或者你可以推荐一个GPL源代码链接?(这是不可行的,因为任何可以识别我从哪里获得源代码的人都可以访问算法?)
  3. 我没有在我的应用程序中使用MySQL,我不需要.

对于如何在不花钱的情况下获得尽可能安全的建议,您有什么建议?时间是我所拥有的奢侈品.只需PHP和最小的JavaScript.

Eri*_*rik 5

您需要的是散列算法(例如md5或sha1),这些是"单向"的,这意味着您可以轻松地散列字符串(如密码),并将生成的散列与存储的散列进行比较.但是,您无法获取哈希值并将其转换回密码.

有关sha1函数,请参见http://gr.php.net/manual/en/function.sha1.php.

MD5和SHA1是众所周知的算法,SHA1更安全,因为有一些当前的机制可以更容易地破坏MD5哈希.

  • 好吧......如果你不使用盐,那就有那些令人讨厌的彩虹桌 (3认同)
  • 关于salt的一些信息:如果你经常使用`md5("password");`,而是使用`md5("randomtext101"."password"."qwerty");`,这会使密码更难解密表格(将结果与已知结果进行比较).另外,`md5();`比`sha1();`稍微安全一些.希望这有帮助! (2认同)