【问题标题】:How can I figure out which hash function was used?如何确定使用了哪个哈希函数?
【发布时间】:2010-11-19 08:17:17
【问题描述】:

我正在开发一个网络 API 来与旧版服务器交互,我需要一些帮助来确定他们正在使用哪个散列函数。最初的开发人员对我的查询不是特别敏感,所以我认为 SO 可能会帮助我。

这是一个低安全性的内部公司网络,因此哈希并不复杂。到目前为止,我已经确定明文“ashafer”被散列成0xfd1873ca

所以,我正在尝试识别一个简单的哈希函数,它将字符串转换为 32 位十六进制数字。有什么想法吗?

【问题讨论】:

    标签: hash


    【解决方案1】:

    如果我将“ashafer”放入 http://boldizsar.palotas.eu/crypto.php ,它会为 crc-32 返回 4246238154,即十六进制的 0xfd1873ca,因此他们使用的是普通的旧 crc-32。

    【讨论】:

      【解决方案2】:

      Crc32 做到这一点。 显然不是md5或者shaX(都是128)

      糟糕,刚刚检查过.. crc32 "ashafer"=0x6074acb4

      【讨论】:

        【解决方案3】:

        您知道旧版服务器是用什么语言编写的吗?例如,它可能是“默认的 .NET 哈希码实现”(Java 也是如此)。希望不要,因为您真的不打算那样使用它们,但这是有可能的......

        【讨论】:

          猜你喜欢
          • 2015-01-26
          • 2012-06-04
          • 1970-01-01
          • 1970-01-01
          • 2011-05-12
          • 1970-01-01
          • 2013-04-13
          • 2010-11-12
          • 2010-11-15
          相关资源
          最近更新 更多