是否可以识别散列类型?
我知道你可以比较长度,但许多散列类型具有相同的长度。是否可以识别散列类型?
有没有一种方法来识别一个散列的类型和它是否被盐渍?
例如:
hash=2bf231b0e98be99a969bd6724f42a691
hash=4ac5a4ff764807d6ef464e27e4d1bee3
hash=4d177cec31d658ed22cc229e45d7265e
;你几乎只能通过长度来识别它。
- 编辑:
但很明显的,如果你有机会到程序生成散列,并且可以提供输入,那么你就可以用了一些成绩,你也算(假设你知道盐进行比较。
如果你真的卡住了,你也可以从被使用的语言(即如果它的PHP,这是最有可能的MD5)来推断,等等。
但是从技术角度来看,没有办法来识别散列;因为这对于安全目标会产生反作用:)(它会在散列中占用无用的位)自己做这个鉴定)。
该特定示例是32个字符的字母数字表示形式,几乎可以肯定是MD5。
SHA-1通常是为40个字符的字母数字字符串(如不SHA-0)
MD5和SHA-1的占了绝大多数,你会在野外找到散列。
从未来帖子:
2bf231b0e98be99a969bd6724f42a691 MD5:gombaliste0
4ac5a4ff764807d6ef464e27e4d1bee3 MD5:gombaliste2
4d177cec31d658ed22cc229e45d7265e MD5:gombaliste129
我想他想了解如何识别它们,不只是原文。 –
是的,有可能在一定程度上某种确定性来识别的类型哈希算法被使用。
我用了很多工具来做这件事的一个工具是散列标识符https://code.google.com/p/hash-identifier/。
例如,我创建了Hash_ID.py文件的哈希:
$ openssl sha -sha256 Hash_ID.py
SHA256(Hash_ID.py)= 5382a8826c972f8fa8687efe1f68e475c02af4bf542b0d7e68b9deffd388db96
在运行中输入Hash_ID.py它会问哈希:
$ python Hash_ID.py
#########################################################################
# __ __ __ ______ _____ #
# /\ \/\ \ /\ \ /\__ _\ /\ _ `\ #
# \ \ \_\ \ __ ____ \ \ \___ \/_/\ \/ \ \ \/\ \ #
# \ \ _ \ /'__`\ /,__\ \ \ _ `\ \ \ \ \ \ \ \ \ #
# \ \ \ \ \/\ \_\ \_/\__, `\ \ \ \ \ \ \_\ \__ \ \ \_\ \ #
# \ \_\ \_\ \___ \_\/\____/ \ \_\ \_\ /\_____\ \ \____/ #
# \/_/\/_/\/__/\/_/\/___/ \/_/\/_/ \/_____/ \/___/ v1.1 #
# By Zion3R #
# www.Blackploit.com #
# [email protected] #
#########################################################################
-------------------------------------------------------------------------
HASH: 5382a8826c972f8fa8687efe1f68e475c02af4bf542b0d7e68b9deffd388db96
Possible Hashs:
[+] SHA-256
[+] Haval-256
Least Possible Hashs:
[+] GOST R 34.11-94
[+] RipeMD-256
[+] SNEFRU-256
[+] SHA-256(HMAC)
[+] Haval-256(HMAC)
[+] RipeMD-256(HMAC)
[+] SNEFRU-256(HMAC)
[+] SHA-256(md5($pass))
[+] SHA-256(sha1($pass))
的单向Hash ID工作是通过检查所支持的所有散列类型的标准,并给出可能的散列类型列表。
你也可以看看下面的*线程(半重复):http://*.com/questions/1442422/determine-hash-algorithm – ChristopheD