用我自己的哈希码安全



将我的网站密码存储在我的数据库中并使用我自己的代码进行散列是否安全?哈希代码是用php编写的,下面是一些示例:

十亿欧元一个T<•T‰的

amf†=ä^ö™

a!-ž'6Å7µp¼Y+

123456-Š

stackoverflow-°>–0µ±"^Ö-œ"

hased值始终为16个字符。据我说,它可以散列多达10^96个不同的散列,并且需要很长时间才能破解。我可以在我的网站上使用这个吗?

总结评论中通常提到的内容:

  • 默默无闻的安全不是保护。首先,如果你的哈希数据库泄漏,你的源代码很可能也可以访问。如果不是,人们可以进行实验,并可能对算法进行逆向工程。如果能想出来,其他人也能
  • 散列必须有足够大的密钥空间,以尽可能避免冲突。显然,从字母表的大小来看,你已经覆盖了,但我们不知道你的算法是如何抵抗碰撞的
  • 散列必须足够昂贵,使得快速散列大量值变得不可行。在您的案例中,我们对此一无所知,但由于您没有明确强调这是一个功能,我预计它会很快。这意味着攻击者将试图以最快的速度散列所有可能的密码。请注意,这里与哈希值的字母表大小无关;只有要散列的值的数量乘以散列一个值所花费的时间才是相关的
  • 哈希不能具有允许快捷方式的漏洞,这些快捷方式可以进一步缩短哈希时间,甚至允许对值进行有针对性的反向工程。根据您提供的有关哈希的信息,我们对此一无所知

话虽如此,如果你的网站非常低调,那么它可能已经足够了,因为它很晦涩(哦,晦涩的安全性),没有人在乎。如果有一天,一个足够熟练的攻击者对你的特定网站和哈希算法感兴趣,你可能就完蛋了。

最新更新