我知道你可以比较长度但很多哈希类型的长度相同。
有没有办法识别哈希的类型以及它是否已被盐渍?
例如:
hash=2bf231b0e98be99a969bd6724f42a691
hash=4ac5a4ff764807d6ef464e27e4d1bee3
hash=4d177cec31d658ed22cc229e45d7265e
答案 0 :(得分:5)
没有;你几乎只能用它来识别它。
- 编辑:
但是,显然,如果您可以访问生成哈希的程序,并且可以提供输入,那么您可以与某些结果进行比较,您也可以计算(假设您知道盐。
如果你真的被卡住了,你也可以用正在使用的语言来推断它(例如,如果它是PHP,它很可能是MD5),等等。
但从技术角度来看,没有办法识别哈希值;因为它会对安全性目标产生反作用:)(它会占用散列本身中无用的位来进行此识别)。
答案 1 :(得分:5)
该特定示例是32个字符的字母数字表示,几乎可以肯定是MD5。
SHA-1通常是一个40个字符的字母数字字符串(和SHA-0一样)
MD5和SHA-1占据了你在野外找到的绝大多数哈希。
答案 2 :(得分:4)
是的,可以在一定程度上确定所使用的哈希算法的类型。
我经常使用的一个工具是hash-identifier https://code.google.com/p/hash-identifier/。
例如,我创建了Hash_ID.py文件的哈希:
$ openssl sha -sha256 Hash_ID.py
SHA256(Hash_ID.py)= 5382a8826c972f8fa8687efe1f68e475c02af4bf542b0d7e68b9deffd388db96
运行Hash_ID.py时,它会要求输入Hash:
$ python Hash_ID.py
#########################################################################
# __ __ __ ______ _____ #
# /\ \/\ \ /\ \ /\__ _\ /\ _ `\ #
# \ \ \_\ \ __ ____ \ \ \___ \/_/\ \/ \ \ \/\ \ #
# \ \ _ \ /'__`\ / ,__\ \ \ _ `\ \ \ \ \ \ \ \ \ #
# \ \ \ \ \/\ \_\ \_/\__, `\ \ \ \ \ \ \_\ \__ \ \ \_\ \ #
# \ \_\ \_\ \___ \_\/\____/ \ \_\ \_\ /\_____\ \ \____/ #
# \/_/\/_/\/__/\/_/\/___/ \/_/\/_/ \/_____/ \/___/ v1.1 #
# By Zion3R #
# www.Blackploit.com #
# Root@Blackploit.com #
#########################################################################
-------------------------------------------------------------------------
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的工作方式是检查针对它支持的所有散列类型的条件给出的散列,并给出可能的散列类型列表。
答案 3 :(得分:3)
从未来发布:
2bf231b0e98be99a969bd6724f42a691 MD5:gombaliste0
4ac5a4ff764807d6ef464e27e4d1bee3 MD5:gombaliste2
4d177cec31d658ed22cc229e45d7265e MD5:gombaliste129