Member 9483664322323 Ответов: 2

К сожалению архивные архивные


nteger ash (строка inputString)
{
Целое число outputNumber = 3;
Целочисленный индекс=0;
Целое число lengthOfInputString=inputString.Длина;
Целое число d =w
Целое число ds =4
Целое число fdsf =dsd

while(index<lengthofinputstring)
{
outputnumber=(outputnumber*3+letters.indexof(inputstring[index]));
индекс=индекс+1;
}
вернуться outputnumber;
}


что="" производится="" в="" хэшируется="" выход="" (число="" стоимость)="" как


при условии,="" ввода="" строку="" длина="" был="" 9="" и="" содержит="" только="" символов="" от="" ниже="" строку

Что я уже пробовал:

<d;b=d""&gdt;D что я пробовал:

Trgied, чтобы узнать, пожалуйста, дайте мне решение.
Заранее спасибо.

Richard Deeming

Изменение содержания вашего вопроса после того, как другие люди нашли время, чтобы помочь вам, - это ЧРЕЗВЫЧАЙНО грубый.

Я откатил вашу деструктивную правку.

Richard MacCutchan

Нет, вы уже получили объяснения, почему нет.

Richard MacCutchan

Вы опубликовали вопрос, который получил некоторые ответы, поэтому он должен оставаться открытым, чтобы помочь другим людям, сталкивающимся с подобными проблемами. Любые вопросы или ответы, размещенные здесь, находятся в свободном доступе, что и является целью данного сайта.

Richard MacCutchan

Пожалуйста, перестань суетиться. Если вам не нравятся здешние правила, то смело идите в другое место.

Richard MacCutchan

Да, вы можете сделать это на странице настроек своей учетной записи.

Christian Graus

у вас есть два правильных ответа. Это хэш, а не шифрование. Две вещи, которые вы никогда не должны писать для себя

Christian Graus

Чувак, ты неправильно понял ситуацию. На сайте нет "частных" вопросов

Christian Graus

Вы получили хорошие ответы. Ваше поведение крайне антисоциально. Это не самый умный способ найти помощь

Christian Graus

Почему ты думаешь, что мы можем? Почему ты не можешь? Почему вы расстраиваетесь из-за того, что люди сказали вам правду, достаточно вежливо?

2 Ответов

Рейтинг:
5

CPallini

То есть, как и многие алгоритмы хеширования, он не является непосредственно обратимым. Видеть Хэш - функция- Википедия[^].


Maciej Los

5ed!

Рейтинг:
15

OriginalGriff

Ты не можешь. Это не алгоритм шифрования, это алгоритм хеширования (не очень хороший, но он работает)
Разница в том, что алгоритм шифрования может быть реверсирован для получения исходных входных данных, чего не может сделать алгоритм хэширования - они используются для разных целей.
Например, если у вас есть два входа 42 и 17 и ваш алгоритм хэширования "сложите их вместе", то вы получите хэш-значение 59. Но... существует огромный диапазон чисел, которые будут генерировать одно и то же хэш-значение: (58, 1), (57, 2), (56, 3) и вы не можете сказать по выходному результату, с какой пары чисел вы начали (или даже что это были только два числа!

Ваше хэш-значение может быть отменено для очень коротких строк, но как только длина увеличивается (или ваша входная строка содержит символ, отсутствующий в вашей коллекции букв), это становится невозможным.

Вы можете изменить его для коротких строк, взяв модуль 37 и используя его для индексации коллекции букв, а затем разделив хэш на 37, готовый к следующей цифре, - но ему нельзя доверять!


Maciej Los

5ed!