170 похожих чатов

Я пишу свою хэш функцию, но почему когда я меняю

ключ, то захешированное слово не меняется?
вот код:
#include <iostream>
class Hesh
{
private:
int SIZE = 19;
std::string* heshArr = new std::string[SIZE];
public:
std::string hashFunc(std::string& str, std::string& key)
{
std::string current;
current.resize(str.size());

for (int i = 0; i < str.size(); i++)
{
current[i] = str[i] + key.find(i);
}

return current;
}

std::string Unhash(std::string str, std::string key)
{
std::string current;
current.resize(str.size());

for (int i = 0; i < str.size(); i++)
{
current[i] = str[i] - key.find(i);
}
return current;
}

void addInArr(std::string& str)
{
int summ = 0;
for (int i = 0; i < str.size(); i++)
{
summ += str[i];
}
summ %= 19;
heshArr[summ] = str;
}
void printHeshArr()
{
for (int i = 0; i < SIZE; i++)
{
std::cout << heshArr[i]<<"\t";
}
}
};

int main()
{
std::setlocale(LC_ALL, "ru");

std::string str = "HEllo World";
std::string str2 = "What is it";
std::string str3 = "LeeeeeeLL";
std::string key = "qwertyuiopasdfghjk";
Hesh h;


auto result = h.hashFunc(str, key);

h.addInArr(result);
result = h.hashFunc(str2, key);
h.addInArr(result);
result = h.hashFunc(str3, key);
h.addInArr(result);
h.printHeshArr();


return 0;
}

5 ответов

18 просмотров

Можешь ещё раз рассказать что не так?

А это точно хеш-функция?

AnTINooBL- Автор вопроса
Ilya Zviagin
А это точно хеш-функция?

Ну тип я же шифрую и записываю в миссив

AnTINooBL
Ну тип я же шифрую и записываю в миссив

Хэш-функция ничего не шифрует, это невозможно

https://en.cppreference.com/w/cpp/string/basic_string/find find возвращает номер найденного символа в строке, в чем идея твоя такая оригинальная идея шифрования заключается? Сложить исходный символ с индексом в строке ключа? Да и вообще там полный бред написан, перечитай сам и проверь

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

Обсуждают сегодня

Мужики и девушки, привет) в Вelphi xe7 в настройках во вкладке "Editor Options" далее " Color" есть список: "Elements", открыв который мы можем настраивать отображение разных...
Kraszx
14
Добрый вечер. Есть вопрос, а может и предложение. Был у меня диалог в другой группе о делфи и я задался вопросом: "А нельзя ли в делфи цвет //коментария и {комментария} сде...
Kraszx
24
Я вот подумал. SSE выполняет операции максимум с 64-битной точностью. А FPU - всегда с 80-битной. Разве не должно быть FPU точнее тогда?
The Bird of Hermes
13
как быть с принтером? такой подход прокатит?
zamtmn
12
Мдя, прикол, боевая сборка запускается (именно под отладчиком) после F9 примерно полторы минуты (97 секунд если быть точным). Начал копать - проблема детектится сразу - зависа...
Александр (Rouse_) Багель
38
Всем привет! Подскажи, пожалуйста, как передать в TComboBox сразу значение и id записи. На Delphi я делал так: ComboBox1.Items.AddObject('Какое-то значение', Pointer(id запис...
Евгений
13
Здравствуйте, вопрос по структурам данных. Были у вас случаи, когда пришлось писать деревья или двунаправленные списки?
/ /
50
Я не понимаю, это троллинг или что? Швабрика поддерживают, который буквально пишет на ассемблере взаимодействия с винапи. Я это ещё написал загрузчик и хоть что-то изучаю в о...
Shadow Akira
6
А вот это что за конструкция? Вернее, она тут нафига?
Serjone
10
Привет. Подскажите, как правильно сматчить лист фиксированного размера, чтобы компилятор не говорил мне о неполном паттерне? Допустим что-то такое [x', y'] = sort [x, y]?
Arseny
8
Карта сайта