Я совершенно уверен, что должно быть свойство "Exclude from build" на папке, но у меня нет своей Visual Studio со мной в данный момент. По крайней мере на файлах существует такое свойство.
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.
}
Не соответствует ни одному из распространенных алгоритмов хеширования :
Возможно, перед хешированием была добавлена соль ...
Не что иное, как опробовать знакомую вам группу и посмотреть, совпадают ли они.
Посмотрев на длину, вы можете решить, какие алгоритмы попробовать. MD5 и MD2 производят 16-байтовые дайджесты. SHA-1 производит 20 байт вывода. И т.д. Затем выполните каждый хэш на входе и посмотрите, соответствует ли он выходным. Если да, то это ваш алгоритм.
Конечно, если хешируется не только «ключ», вам тоже нужно знать это. И в зависимости от приложения хеши часто применяются итеративно. То есть результат хеширования снова хешируется, и этот результат хешируется… часто тысячи раз. Так что, если вы заранее знаете, сколько итераций было выполнено, это тоже может помочь.
Нет ничего, кроме длины в выходных данных криптографического хэша, что помогло бы сузить алгоритм, который его произвел.
Кажется, что хэш содержит только шестнадцатеричные символы (каждый символ представляет 4 бита)
Всего 32 символа -> это хэш длиной 128 бит.
Стандартные алгоритмы хеширования, которые соответствуют этим спецификациям: haval, md2, md4, md5 и ripemd128.
Наибольшая вероятность состоит в том, что использовалось MD5.
md5 («выше»)! = Df072c8afcf2385b8d34aab3362020d0
Наибольшая вероятность состоит в том, что была использована какая-то соль.
Наивысшая вероятность остается MD5.