【发布时间】:2010-11-19 08:17:17
【问题描述】:
我正在开发一个网络 API 来与旧版服务器交互,我需要一些帮助来确定他们正在使用哪个散列函数。最初的开发人员对我的查询不是特别敏感,所以我认为 SO 可能会帮助我。
这是一个低安全性的内部公司网络,因此哈希并不复杂。到目前为止,我已经确定明文“ashafer”被散列成0xfd1873ca
所以,我正在尝试识别一个简单的哈希函数,它将字符串转换为 32 位十六进制数字。有什么想法吗?
【问题讨论】:
标签: hash
我正在开发一个网络 API 来与旧版服务器交互,我需要一些帮助来确定他们正在使用哪个散列函数。最初的开发人员对我的查询不是特别敏感,所以我认为 SO 可能会帮助我。
这是一个低安全性的内部公司网络,因此哈希并不复杂。到目前为止,我已经确定明文“ashafer”被散列成0xfd1873ca
所以,我正在尝试识别一个简单的哈希函数,它将字符串转换为 32 位十六进制数字。有什么想法吗?
【问题讨论】:
标签: hash
如果我将“ashafer”放入 http://boldizsar.palotas.eu/crypto.php ,它会为 crc-32 返回 4246238154,即十六进制的 0xfd1873ca,因此他们使用的是普通的旧 crc-32。
【讨论】:
Crc32 做到这一点。 显然不是md5或者shaX(都是128)
糟糕,刚刚检查过.. crc32 "ashafer"=0x6074acb4
【讨论】:
您知道旧版服务器是用什么语言编写的吗?例如,它可能是“默认的 .NET 哈希码实现”(Java 也是如此)。希望不要,因为您真的不打算那样使用它们,但这是有可能的......
【讨论】: