对于PHP,为什么我们使用crypt()进行密码哈希而不是hash()?
可能重复:对于PHP,为什么我们使用crypt()进行密码哈希而不是hash()?,php,hash,naming,crypt,Php,Hash,Naming,Crypt,可能重复: 最近我研究了如何在PHP中正确地进行密码哈希。更好的选择之一是使用crypt()。但是为什么我们不使用hash() 我问这个问题的主要原因是因为我制作了一个密码散列函数,它包装了crypt(),我想知道该如何命名我的函数。现在它的名称是getHash()。但是我觉得使用这个名字很有趣,因为我正在包装crypt()。如果我使用getCrypt(),听起来也不太好,因为它是一个散列函数。我应该给包装crypt()的散列函数取什么名字?我想我们最终得到的是,一些crypt被设计得比较慢,
最近我研究了如何在PHP中正确地进行密码哈希。更好的选择之一是使用
crypt()
。但是为什么我们不使用hash()
我问这个问题的主要原因是因为我制作了一个密码散列函数,它包装了
crypt()
,我想知道该如何命名我的函数。现在它的名称是getHash()
。但是我觉得使用这个名字很有趣,因为我正在包装crypt()
。如果我使用getCrypt()
,听起来也不太好,因为它是一个散列函数。我应该给包装crypt()
的散列函数取什么名字?我想我们最终得到的是,一些crypt被设计得比较慢,而hash()相对来说比较快。算法速度越慢,黑客就越难强行破解你的密码。可悲的是,越慢越好。。。从某种意义上说:)散列,正如散列所使用的,是为了验证数据(如文件),通常是作为校验和类型的东西。它的速度很快,这就是为什么我们不将其用于安全数据的原因
Crypt(正确使用时)使用缓慢的散列算法。慢散列算法之所以重要,是因为它使某些人难以强制执行散列。如果慢速散列算法比快速散列算法花费的时间长0.1毫秒,那么尝试10000个密码将需要一秒钟,当然,暴力强制将需要数百万次尝试。散列也更可取,因为只要提供密钥,加密很容易可逆。您唯一需要在散列上进行加密的时候是以后必须检索密码(为什么需要?)@Gary加密从何而来?没有人讨论过加密。