2010-01-18 3 views
3

Я знаю, что вы можете сравнить длину, но многие типы хешей имеют одинаковую длину.Можно ли идентифицировать хэш-тип?

Есть ли способ идентифицировать тип хэша и был ли он солен? не

Например:

hash=2bf231b0e98be99a969bd6724f42a691 
hash=4ac5a4ff764807d6ef464e27e4d1bee3 
hash=4d177cec31d658ed22cc229e45d7265e 
+2

Вы также можете просмотреть следующий поток stackoverflow (полудубликат): http://stackoverflow.com/questions/1442422/determine-hash-algorithm – ChristopheD

ответ

5

Нет; вы в значительной степени можете идентифицировать его по длине.

- Edit:

Очевидно, однако, если у вас есть доступ к программе генерации хэш, и вы можете внести свой вклад, то вы можете сравнить с каким-то результатом можно также вычислить (если вы знаете соль.

Если вы действительно застряли, вы также можете вывести его из языка, который используется (т.е. если это PHP, то, скорее всего, MD5), и так далее.

Но с технической точки зрения, нет никакого способа идентифицировать хеш, поскольку это было бы контрпродуктивным для цели безопасности :) (это заняло бы бесполезные биты в хэше, это чтобы сделать эту идентификацию).

4

Этот конкретный пример представляет собой 32-символьное буквенно-цифровое представление, которое почти наверняка MD5.

SHA-1, как правило, поставляется в виде 40 символов алфавитно-цифровой строки (как SHA-0)

MD5 и SHA-1 счета для подавляющего большинства хэш, которые вы найдете в дикой природе.

2

Сообщение от будущего:

2bf231b0e98be99a969bd6724f42a691 MD5: gombaliste0
4ac5a4ff764807d6ef464e27e4d1bee3 MD5: gombaliste2
4d177cec31d658ed22cc229e45d7265e MD5: gombaliste129

+3

Я думаю, что он хотел получить некоторое представление о том, как их идентифицировать, а не только оригинальный текст. –

3

Да, можно до некоторой степени некоторой степенью уверенности определить тип хэш-алгоритм, который использовался.

Одним из инструментов, который я использую для этого, является хэш-идентификатор 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 # 
    #             [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 работает, проверяя хэш, заданный по критериям для всех хеш-типов, которые он поддерживает, и предоставит список возможных типов хеширования.

Смежные вопросы