Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.69/32: Рейтинг темы: голосов - 32, средняя оценка - 4.69
0 / 0 / 0
Регистрация: 23.01.2012
Сообщений: 21
1

Зашифровать текст, используя таблицу ASCII-кодов

04.02.2012, 02:27. Просмотров 5985. Ответов 9
Метки нет (Все метки)

Помогите зашифровать данный текст, используя таблицу ASCII-кодов:
Компилятор.

Добавлено через 7 минут
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream>
 
using namespace std;
 
int main()
{
    int cout[10] = {К, О, М, П, И, Л, Я, Т, О, Р};
 
    for(int i=0; i<10; i++)
        char(arr[i]<< cout);
 
    return 0;
}
как то так?
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
04.02.2012, 02:27
Ответы с готовыми решениями:

Дешифровать заданный текст, используя таблицу ASCII-кодов
Помогите составить программу чтобы дешифровать данный текст, используя таблицу ASCII-кодов: 8A AE...

Вывести таблицу ASCII кодов
Вывести таблицу ASCII кодов в двенадцать столбцов до появления строчной буквы й русского алфавита и...

Вывести таблицу символов кодов ASCII
Вывести таблицу символов кодов ASCII таким образом, чтобы ряды обозначали кол-во десятков, а...

Сформировать таблицу ASCII-кодов символов с номерами от a до b
Ввести натуральные числа a и b размером в один байт Сформировать таблицу ASCII-кодов символов с...

9
194 / 138 / 56
Регистрация: 06.07.2011
Сообщений: 298
04.02.2012, 02:29 2
ну например так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream>
 
using namespace std;
 
int main()
{
    char str[] = "kompilator";    // Извиняюсь за это..
 
    for(int i=0; i<10; i++)
        cout << hex << int(str[i]) << " ";
 
    return 0;
}
Не факт, но многое тут зависит от кодировки..
Толком не проверял) перевожу сразу в хекс)
1
117 / 74 / 6
Регистрация: 23.01.2012
Сообщений: 186
04.02.2012, 08:40 3
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

ИМХО: То что Вы написали не шифрования текста. Больше похоже на перевод символов в hex.

А вот если Ваш код переписать вот так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
 
using namespace std;
 
int main()
{
    char str[] = "kompilator";    // Извиняюсь за это..
    char key[] = "keykeykeyy";  // Ключ шифрования
 
    for(int i=0; i<10; i++)
       str[i] = str[i]^key[i];
        cout << str;
 
    return 0;
}
То будет побитовое шифрование XOR
1
0 / 0 / 0
Регистрация: 23.01.2012
Сообщений: 21
04.02.2012, 09:06  [ТС] 4
в данном случае шифрование являлось приведением слова к виду : 8A 8E 8C 8F 88 8B 9F 92 8E 90 ,
а не кодированием)
0
-4 / 0 / 1
Регистрация: 09.03.2020
Сообщений: 49
05.04.2020, 13:21 5
Люди, а не поможете написать код для неизвестного слова. Т.е если вместо слова компилятор будет любое другое слово
0
1639 / 683 / 258
Регистрация: 08.11.2016
Сообщений: 2,079
05.04.2020, 13:38 6
C++
1
2
3
4
5
6
7
8
9
char *str =  new char[256];
cout << "input string: ";
cin >> str;
char key;
cout << "input cypher key: ";
cin >> key;
for (int i = 0; str[i]; i++)
    str[i] = str[i] ^ key;
cout << "crypt string = " << str << endl;
1
Параллельный Кот
1900 / 823 / 349
Регистрация: 25.03.2016
Сообщений: 2,040
05.04.2020, 13:57 7
Annemesski, проверьте свой код.
Код
input string: qwerty
input cypher key: awsdfg
crypt string = ▒
0
1639 / 683 / 258
Регистрация: 08.11.2016
Сообщений: 2,079
05.04.2020, 14:57 8
valen10, не в коде как таковом дело, просто спецсимволы получаются в кодированной строке, ну и есть риск получить нульбайт в шифрованной строке при совпадении ключа и кодированного символа, к стати ключом тут выступает один байт, то бишь один символ, из Вашего ввода будет взят первый введенный. Тут для пущей красоты можно либо ввести ограничение на ключ или для шифрования использовать другую функцию, например сложение, тогда нульбайт или другой спецсимвол получить будет сложнее.
0
Параллельный Кот
1900 / 823 / 349
Регистрация: 25.03.2016
Сообщений: 2,040
05.04.2020, 15:47 9
Annemesski, или коды символов выводить, а не сами символы. Ограничение на ключ будет, пожалуй, сильно жестким и необоснованным.
0
1639 / 683 / 258
Регистрация: 08.11.2016
Сообщений: 2,079
05.04.2020, 15:53 10
valen10, тоже вариант, но от нульбайта не страхует, так что ограничивать ключ, по хорошему, все равно придется или же, наверное, самым правильным вариантом будет не использовать нультерминированные строки. А для учебной поделки и так сойдет.
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.04.2020, 15:53

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Вывести таблицу ASCII-кодов в пять столбцов, до появления буквы "й"
Здравствуйте. Помогите, пожалуйста, решить задачу с помощью с++. Нужно вывести таблицу ASCII...

Использование ASCII кодов
Подскажите как пользоваться таблицей ASCII кодов...

Вопрос по ASCII кодов
Я сделал ввод одномерного символьного массива, сделал сортировку, но в выводе мне вывело не...

Почему выводит кириллицу при введении кодов ASCII?
Добрый день! Ввожу char f=156; cout&lt;&lt;f; Это код знака фунта. Но вместо получаю ь. Работаю...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.