Я могу определить хеш-алгоритм на основе ключевой начальной буквы и выходной хеш?

Я совершенно уверен, что должно быть свойство "Exclude from build" на папке, но у меня нет своей Visual Studio со мной в данный момент. По крайней мере на файлах существует такое свойство.

7
задан Stevoisiak supports Monica 18 December 2017 в 16:44
поделиться

5 ответов

Well, given that there are a finite number of popular hash algorithms, maybe what you propose is not so ridiculous.

But suppose I asked you this:

If I have an input and an output, can I determine the function?

Generally speaking, no, you cannot determine the inner-workings of any function simply from knowing one input and one output, without any additional information.

// very, very basic illustration
if (unknownFunction(2) == 4) {
    // what does unknownFunction do?
    // return x + 2?
    // or return x * 2?
    // or return Math.Pow(x, 2)?
    // or return Math.Pow(x, 3) - 4?
    // etc.
}
3
ответ дан 6 December 2019 в 08:15
поделиться

Не соответствует ни одному из распространенных алгоритмов хеширования :

http://www.fileformat.info/tool/hash.htm?text=higher

Возможно, перед хешированием была добавлена ​​ соль ...

2
ответ дан 6 December 2019 в 08:15
поделиться

Не что иное, как опробовать знакомую вам группу и посмотреть, совпадают ли они.

1
ответ дан 6 December 2019 в 08:15
поделиться

Посмотрев на длину, вы можете решить, какие алгоритмы попробовать. MD5 и MD2 производят 16-байтовые дайджесты. SHA-1 производит 20 байт вывода. И т.д. Затем выполните каждый хэш на входе и посмотрите, соответствует ли он выходным. Если да, то это ваш алгоритм.

Конечно, если хешируется не только «ключ», вам тоже нужно знать это. И в зависимости от приложения хеши часто применяются итеративно. То есть результат хеширования снова хешируется, и этот результат хешируется… часто тысячи раз. Так что, если вы заранее знаете, сколько итераций было выполнено, это тоже может помочь.

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

13
ответ дан 6 December 2019 в 08:15
поделиться
  1. Кажется, что хэш содержит только шестнадцатеричные символы (каждый символ представляет 4 бита)

  2. Всего 32 символа -> это хэш длиной 128 бит.

  3. Стандартные алгоритмы хеширования, которые соответствуют этим спецификациям: haval, md2, md4, md5 и ripemd128.

  4. Наибольшая вероятность состоит в том, что использовалось MD5.

  5. md5 («выше»)! = Df072c8afcf2385b8d34aab3362020d0

  6. Наибольшая вероятность состоит в том, что была использована какая-то соль.

  7. Наивысшая вероятность остается MD5.

3
ответ дан 6 December 2019 в 08:15
поделиться
Другие вопросы по тегам:

Похожие вопросы: