powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Шифрование char - неправильная дешифровка
16 сообщений из 16, страница 1 из 1
Шифрование char - неправильная дешифровка
    #39126768
ukugyul552465
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Немного переделал чужой код, получилось так:
Код: plaintext
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.
#include <iostream>
#include <cstdlib>
#include <iomanip>
#include <fstream>
using namespace std;
	int main()
{
	setlocale (0, "");
    
     char str[] = "qwe";
    char key[] = "a2c";
 
	int tl = strlen(str);
	int kl = strlen(key);

    for(int i=0; i<tl; i++)
	{
		for (int j=0; j<kl; j++)
		{
       str[i] = str[i]+key[i];
		}
	}
        cout << str;
		cout << endl;

    
		for(int i=0; i<tl; i++)
	{
		for (int j=0; j<kl; j++)
		{
       str[i] = str[i]-key[i];
		}
	}
		cout << str;

	cin.get();
	cin.get();
	return 0;
	}



Работает, если изменять длину ключа, тоже работает, но если изменить сам текст, то шифрует, но при расшифровке какие-то непонятные символы.
...
Рейтинг: 0 / 0
Шифрование char - неправильная дешифровка
    #39126799
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В зависимости от кодировки (16 разрядный char или 8-ми разрядный) мы можем
получать различные побочные эффекты сложения.
...
Рейтинг: 0 / 0
Шифрование char - неправильная дешифровка
    #39127417
ukugyul552465
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Какие будут предложения? Использовать что-то вместо char?
...
Рейтинг: 0 / 0
Шифрование char - неправильная дешифровка
    #39127427
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Используй ^ (XOR) тогда нужен будет один алгоритм для шифрования и расшифровки, т.к.
Код: plaintext
1.
x ^ K ^ K == x
...
Рейтинг: 0 / 0
Шифрование char - неправильная дешифровка
    #39127440
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima T, сложение в криптографии тоже используется. Только не простое а ПО-МОДУЛЮ.
...
Рейтинг: 0 / 0
Шифрование char - неправильная дешифровка
    #39127468
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonDima T, сложение в криптографии тоже используется. Только не простое а ПО-МОДУЛЮ.
XOR частный случай. По-другому он называется "сложение по модулю 2".
...
Рейтинг: 0 / 0
Шифрование char - неправильная дешифровка
    #39127497
ukugyul552465
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Та же самая проблема. При расшифровке часть символов - не те.
...
Рейтинг: 0 / 0
Шифрование char - неправильная дешифровка
    #39127510
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ukugyul552465, приведи пожалуйста пример входа и выхода для твоего консольного приложения.

Иначе мы так очень долго будем ходить вокруг.
...
Рейтинг: 0 / 0
Шифрование char - неправильная дешифровка
    #39127520
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ukugyul552465
Код: plaintext
1.
       str[i] = str[i]+key[i];


Это так и задумывалось?
...
Рейтинг: 0 / 0
Шифрование char - неправильная дешифровка
    #39127528
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Думаю да. Парень делает своего Цезаря.
...
Рейтинг: 0 / 0
Шифрование char - неправильная дешифровка
    #39127589
ukugyul552465
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dima Tukugyul552465
Код: plaintext
1.
       str[i] = str[i]+key[i];


Это так и задумывалось?

Нет.
Однако замена на j не помогает.

Текст-gwe
Зашифрован-?
Расшифрован-gwe

Текст-gwe55
Зашифрован-?5c
Расшифрован-gwe5?
...
Рейтинг: 0 / 0
Шифрование char - неправильная дешифровка
    #39127592
ukugyul552465
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Как можно вот этот код
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
 for(int i=0; i<tl; i++)
	{
		for (int j=0; j<kl; j++)
		{
       str[i] = str[i]+key[i];
		}
	}


переделать по-человечески?
...
Рейтинг: 0 / 0
Шифрование char - неправильная дешифровка
    #39127704
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ukugyul552465Однако замена на j не помогает.
В двух местах поменял?
...
Рейтинг: 0 / 0
Шифрование char - неправильная дешифровка
    #39127724
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ukugyul552465Как можно вот этот код
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
 for(int i=0; i<tl; i++)
	{
		for (int j=0; j<kl; j++)
		{
       str[i] = str[i]+key[i];
		}
	}


переделать по-человечески?
Напиши так
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
 for(int i=0; i<tl; i++)
	{
		for (int j=0; j<kl; j++)
		{
       cout << "str[" << i << "] = str[" << i << "]+key[" << i << "];" << endl;
		}
	}


И добейся чтобы было так 18558234
...
Рейтинг: 0 / 0
Шифрование char - неправильная дешифровка
    #39127745
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вариант со сложением тоже в принципе работает. Только надо сумму двух chars "наполнить смыслом".

И не Цезать это а Виженнер. Ошибся я.
...
Рейтинг: 0 / 0
Шифрование char - неправильная дешифровка
    #39128727
ukugyul552465
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем спасибо, нашёл работающее решение.
...
Рейтинг: 0 / 0
16 сообщений из 16, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / Шифрование char - неправильная дешифровка
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]