Кибор » Кибор - Интегрированная среда разработки ботов » Вопросы и решение проблем » Шифрование текста, чара и тд...

Страниц (1): [1]
 

1. AdryV - 13 Марта, 2018 - 01:20:39 - перейти к сообщению
CODE:

function shifrovanie()
{
string text="тестовый текст: для проверки; шифровки";
char test[100];
strcpy(#test[0], text);
int u=size(#test[0]);
int a[500];
//
for(int n=0; n<u; n++)
{
a[n]=formatci(test[n])*571;
}
//
}

эт так сказать просто преобразует и int и умножает... но эт как то слабовато
подскажите как возможно усложнить?
типа перемешивания данных
думал но как то не получается придумать способ шифровки дешифровки....
2. Zireael - 22 Сентября, 2018 - 17:37:06 - перейти к сообщению
Шифрование xor (Отобразить)
3. Adomb - 04 Декабря, 2019 - 11:16:58 - перейти к сообщению
Zireael , выводит пустые строки. Можно пояснить почему?
4. Zireael - 04 Декабря, 2019 - 16:33:37 - перейти к сообщению
 Цитата:
Можно пояснить почему?

Переход на дробное деление. Заменить функцию mod.
CODE:
function mod(int a, int b){int z=a/b; return a-z*b;}
5. Adomb - 04 Июня, 2020 - 06:47:52 - перейти к сообщению
Zireael , а можно сделать dll'ку с шифрованием? Чтоб также принимала текст и пароль.
И выложить код DLL - посмотреть. Сам первый раз заморочился - соответственно одни ошибки сыпятся.
6. Zireael - 04 Июня, 2020 - 17:31:09 - перейти к сообщению
 Цитата:
а можно сделать dll'ку

Можно, но точно не на этой неделе.
7. Zireael - 08 Июня, 2020 - 04:06:44 - перейти к сообщению
 Цитата:
а можно сделать dll'ку с шифрованием?

https://drive.google.com/file/d/...view?usp=sharing
Длл распаковать и закинуть в папку с kibor.exe.
CODE:
external(INT, "shifrovanie", "shifrovanie", pathfolder()+"Shifr.dll");

string Text = "текст для шифровки qwerty 123";
string Key = "password123";
char c[999]; // сюда запишется результат

shifrovanie(Text, Key, address(#c[0]));
messagebox(format(#c[0])); // зашифрованная строка

shifrovanie(format(#c[0]), Key, address(#c[0]));
messagebox(format(#c[0])); // расшифрованная строка


Код dll C++ (Отобразить)
8. Adomb - 08 Июня, 2020 - 07:51:49 - перейти к сообщению
Zireael , уря!
Только единственное - но так-то пофиг - если в ключе встречается похожий символ - на нём шифрование обрывается.
text = qeWerty > key = rzWfgu > шифруется до W
Спасибо!
9. Zireael - 08 Июня, 2020 - 08:38:02 - перейти к сообщению
 Цитата:
шифрование обрывается.

Оно не обрывается, просто функция format выводит текст до первого 0.
Чуть подправил. Для расшифровки нужно передавать в функцию адрес массива char и длину текста.
https://drive.google.com/file/d/...view?usp=sharing
CODE:
external(INT, "shifrovanie", "shifrovanie", pathfolder()+"Shifr.dll");

string Text = "qeWerty";
string Key = "rzWfgu";


char c[999], c2[999];


shifrovanie(Text, size(Text), Key, address(#c[0]));
messagebox(format(#c[0])); // зашифрованная строка

shifrovanie(address(#c[0]), size(Text), Key, address(#c2[0]));
messagebox(format(#c2[0])); // расшифрованная строка

Код dll C++ (Отобразить)


Вообще можно в инете поискать и другие алгоритмы шифрования, просто этот один из самых простых в плане реализации.
10. Zireael - 07 Января, 2024 - 05:58:52 - перейти к сообщению
Длл из предыдущего поста скачать и закинуть в папку с кибор.
CODE:
external(INT, "shifrovanie", "shifrovanie", "Shifr.dll");

string Text = "Какой-то текст для шифрования";
string Key = "Ключ 123";

string Code = Encryption(Text, Key);
messagebox(Code);

string Decode = Decryption(Code, Key);
messagebox(Decode);

// неправильный ключ
messagebox(Decryption(Code, "12345"));



// функция шифрования, возвращает строку в Base64
function Encryption(string TextEncrypt, string KeyEncrypt)
{
char c[99999];
shifrovanie(TextEncrypt, size(TextEncrypt), KeyEncrypt, address(#c[0]));
return base64code (#c[0], size(TextEncrypt));
}

// функция расшифровки
function Decryption(string TextDecrypt, string KeyDecrypt)
{
char c[99999], c2[99999];
strcpy(#c[0], TextDecrypt);
string Temp[2];
int k = regexsearch(2, #Temp[0], TextDecrypt, "=");
int k2 = base64decode (#c[0], size(TextDecrypt), #c2[0]);

shifrovanie(address(#c2[0]), k2-k, KeyDecrypt, address(#c[0]));
return format(#c[0]);
}

Powered by ExBB FM 1.0 Final