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 ответов

21 просмотр

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

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

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

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

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

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

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

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

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

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Гайс, вопрос для разносторонее развитых: читаю стрим с юарта, нада выделять с него фреймы с определенной структурой, если ли чо готовое, или долбаться с ринг буффером? нада у...
Vitaly
9
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
длина пакета фиксированная, или меняется?
Okhsunrog
7
Карта сайта