【发布时间】:2013-07-06 23:27:00
【问题描述】:
我正在使用 PHP。我想要一个安全快速的密码加密系统。将密码散列一百万次可能更安全,但也更慢。如何在速度和安全之间取得良好的平衡? 我想知道php中最好的加密方法以及如何应用它。
【问题讨论】:
-
对密码进行一百万次散列比简单地散列一次既慢又不安全
-
哇,这么多糟糕的答案,人们说 MD5 不好,却没有提供解释原因的资源。加密不是散列。如果你加密了一些东西,你可以解密它。意思是,你可以获得原文。散列的要点是没有人知道原始文本是什么。每个散列算法都容易受到彩虹表攻击,这对于某些算法来说是不可行的,因为不存在足够的计算能力。此外,较慢的哈希算法 = 好。如果它对您来说很慢,那么对攻击者来说也很慢。这就是你想要的。
-
@user2386164 - 慢是好的,同意;但在反复散列反复减少熵时不会(deadliestwebattacks.com/category/crypto)
-
来自维基百科的来源:en.wikipedia.org/wiki/MD5#Collision_vulnerabilities :- “在 2005 年,研究人员能够创建具有相同哈希的 PostScript 文档 [24] 和 X.509 证书 [25] 对。那年晚些时候, MD5 的设计师 Ron Rivest 写道,“md5 和 sha1 显然都被破坏了(就抗碰撞性而言)。”[26]”
标签: php mysql passwords password-hash