С Новым годом! Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
0 / 0 / 0
Регистрация: 06.04.2014
Сообщений: 18

Усложнить алгоритм шифрования

10.03.2016, 17:12. Показов 1170. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
 void __fastcall TForm1::Shifr(AnsiString &Str2)
{
AnsiString A="1234567890абвгд";
int i,j,p;
AnsiString Str, Str3;
Str= Str2;
Str3= "";
 
for(int i=1;i<=Str.Length();i++)
for(int j=1;j<=A.Length();j++)
{
if(Str[i]==A[j])
{
p=j;
if(j+3>A.Length())
{
p=j-A.Length();
}
p=p+3;
Str3+=A[p];
}
 
}
//Edit2->Text=Str2;
Str2=Str3;
}
///----------------------
 
void __fastcall TForm1::Button1Click(TObject *Sender)
{
int i;
AnsiString Str;
  IBDataSet1->First();
  for(i=0;i<IBDataSet1->RecordCount;i++)
        {
        Str = IBDataSet1->FieldByName("PPASSWORD")->AsString;
        Shifr(Str);
        ShowMessage(Str);
        IBDataSet1->Edit();
        IBDataSet1->FieldByName("PPASSWORD")->AsString=Str;
        IBDataSet1->Post();
         IBDataSet1->Next();
        }
 
IBDataSet1->First();
}
Есть база с пользователями и их паролями,и мне нужно зашифровать их пароли,я использовал "метод Цезаря",и хочу усложнить шифрование.Мне надо сделать вот таким способом,если длина пароля четная то шифруется первая половина,а если длина пароля не четная то добавляется в конце любой символ и шифруется вторая половина.Сверху находится начала код и нужна мощь его доделать.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
10.03.2016, 17:12
Ответы с готовыми решениями:

Алгоритм шифрования
Здравствуйте, посоветуйте алгоритм шифрования, которым можно в билдере зашифровать, а на PHP расшифровать. Но чтобы en/de coding происходил...

Алгоритм шифрования KASUMI
Прошу помощи. Проблемы с DWORD. Помогите оживить програмку. #include &lt;vcl.h&gt; #pragma hdrstop #include &lt;iostream&gt; #include...

RSA – алгоритм шифрования
Всем доброго времени суток. Друзья, что то у меня не правильно работает шифрование, не пойму почему:cry: В общем вот: ...

7
place status here
 Аватар для gunslinger
3186 / 2220 / 640
Регистрация: 20.07.2013
Сообщений: 6,013
12.03.2016, 12:28
Можно еще так сделать (Кодирование и декодирование теста):
C++
1
2
3
4
5
6
7
String XOR(String in, String pass)
{
  String out = "";
  for (int x = 1; x <= in.Length(); x++)
    out += (char)(in[x] ^ pass[x%pass.Length()+1]);
  return out;
}
Пример:
C++
1
2
3
4
  String in = "Uewf44hy6", pass = "pswd", result;
  result = XOR(in, pass);
  in = XOR(result, pass);
  Button->Caption = in + "          " + result;
Миниатюры
Усложнить алгоритм шифрования  
0
Хитрая блондиночка $)
 Аватар для Hikari
1472 / 988 / 399
Регистрация: 21.12.2015
Сообщений: 3,785
12.03.2016, 12:38
Цитата Сообщение от HelpHelpMe Посмотреть сообщение
я использовал "метод Цезаря"
Рекомендую тебе хранить хеши, которые были созданы с помошью CryptoAPI.
Надежнее.
0
0 / 0 / 0
Регистрация: 06.04.2014
Сообщений: 18
12.03.2016, 15:41  [ТС]
gunslinger, String XOR(String in, String pass) жалуется на эту строчку

Добавлено через 19 минут
gunslinger, и вообщем можно поподробнее что это такое? и куда вставлять? я учусь в колледже поэтому для меня такое очень сложно
0
place status here
 Аватар для gunslinger
3186 / 2220 / 640
Регистрация: 20.07.2013
Сообщений: 6,013
13.03.2016, 01:42
Создаешь проект, первый код вставляешь, например, в свободное место cpp-файла (по аналогии с твоей функцией Shifr; объявление функции при необходимости помести в h-файл), второй код можно "повесить" на обработчик нажатия кнопки (Button1Click).
P.S.: судя по коду из первого поста, если он твой, сложностей возникнуть не должно.
А именно твое задание реализовать достаточно просто - используй логику.
P.S.S.: если что, учитель из меня плохой, объяснять доступно не очень умею.
0
0 / 0 / 0
Регистрация: 06.04.2014
Сообщений: 18
13.03.2016, 12:21  [ТС]
gunslinger, ну это и так было было понятно.Я не понимаю вот эту часть кода.Можете объяснить что здесь происходит? и что вообще из себя представляет алгоритм шифрования XOR?
C++
1
2
3
4
5
6
7
String XOR(String in, String pass)
{
  String out = "";
  for (int x = 1; x <= in.Length(); x++)
    out += (char)(in[x] ^ pass[x%pass.Length()+1]);
  return out;
}
0
Практикантроп
 Аватар для nick42
4841 / 2726 / 534
Регистрация: 23.09.2011
Сообщений: 5,798
13.03.2016, 13:06
Цитата Сообщение от HelpHelpMe Посмотреть сообщение
gunslinger, ну это и так было было понятно
Цитата Сообщение от HelpHelpMe Посмотреть сообщение
String XOR(String in, String pass) жалуется на эту строчку
... так кто все-таки жалуется?

Добавлено через 9 минут
А по функции... в цикле по числу символов входящей строки in обрабатывается каждый символ этой строки операцией "поразрядное исключающее ИЛИ" с символом второй строки - pass. Так посимвольно формируется строка out, которая и есть возвращаемое значение. Поскольку строки in и pass запросто могут не совпадать по длине, то применяется маска "по модулю длины pass" - pass[x%pass.Length()+1], чтобы индекс символа в строке не выходил за допустимое значение. (Только не говорите, что я объясняю еще непонятнее, чем gunslinger...).
0
place status here
 Аватар для gunslinger
3186 / 2220 / 640
Регистрация: 20.07.2013
Сообщений: 6,013
13.03.2016, 13:26
HelpHelpMe, еще можешь почитать про "исключающее или" здесь: https://ru.wikipedia.org/wiki/... BB%D1%8E_2
Если вкратце, то суть XOR (шифрования) в том, после первого применения операции на исходную строку получаем некую шифрованную строку, и если после этого тот же алгоритм XOR применить на уже зашифрованную строку, то в итоге получим исходную строку.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
13.03.2016, 13:26
Помогаю со студенческими работами здесь

Алгоритм шифрования AES-128
Здравствуйте программисты!!! :) Подскажите пожалуйста, или покажите какой-то пример реализации алгоритма шифрования AES-128. Слышал что...

Алгоритм шифрования методом Гронсфельда
И снова доброго времени суток, уважаемые форумчане! Подскажите, как сделать, чтобы при шифровании каждый следующий символ шифровался...

Алгоритм шифрования
Доброго времени суток. Имеется программа, которая шифрует данные собственным алгоритмом. Есть пример зашифрованных данных (вместе с...

Алгоритм симметричного шифрования ГОСТ 28147-89
Доброго времени суток, товарищи. Вот такую задачку подкинули по информационной безопасности. Собственно, никогда с этим алгоритмом не...

Алгоритм программы шифрования данных может кто написать?
#include &lt;stdio.h&gt; #include &lt;conio.h&gt; #include &lt;stdlib.h&gt; #include &lt;string.h&gt; #include &lt;time.h&gt; #define SIZE 18 int...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru