Форум программистов, компьютерный форум CyberForum.ru

алгоритм простого обмена, криптография - C++

Восстановить пароль Регистрация
 
pyul
Сообщений: n/a
16.10.2012, 23:38     алгоритм простого обмена, криптография #1
помогите пожалуйста, мне нужна программа на C++, алгоритм простого обмена, криптография
никак не получается((

Добавлено через 20 минут
у нас есть буквы английского алфавита, нужно зашифровать текст. Ключ-те же буквы в случайном порядке. Нужно обменять местами соответсвующие буквы алфавита и ключа
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.10.2012, 23:38     алгоритм простого обмена, криптография
Посмотрите здесь:

C++ Криптография. Шифр 4-х квадратов
Метод простого обмена [C++] C++
Криптография C++
Метод Шелла, алгоритм обмена C++
Сортировка массива методом простого обмена C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
17.10.2012, 13:05     алгоритм простого обмена, криптография #2
Код
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
#include <iostream>
using namespace std;
 
int main()
{
    setlocale(0, "");
    
    char arr1[] = {' ', ',', '.', '!', '?', '-', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'o', 'p', 'q', 'k', 'l', 'm', 'n'};
    char arr2[] = {'?', ' ', '-', ',', '.', '!', 'c', 'a', 'f', 'd', 'g', 'b', 'e', 'o', 'p', 'q', 'k', 'l', 'm', 'n', 'h', 'i', 'j'};
    char str[255] = "\0";
    
    
    cout << "Введите текст : ";
    cin.getline(str, 255);
 
    char cript[255] = "\0";
    
    for (int i = 0; i < strlen(str); i++)
        for (int j = 0; j < sizeof(arr1); j++)
            if (str[i] == arr1[j])
            {
                cript[i] = arr2[j];
                break;
            }
        
    cout << "Зашифрованное : ";
    for (int i = 0; i < strlen(cript); i++)
            cout << cript[i];
    cout << endl;
 
    cout << "Расшифрованное: ";
    for (int i = 0; i < strlen(cript); i++)
        for (int j = 0; j < sizeof(arr2); j++)
            if (cript[i] == arr2[j])
            {
                cout << arr1[j];
                break;
            }
    cout << endl;
 
   system ("pause");
   return 0;
        
}
Кот Ангенс
 Аватар для Кот Ангенс
317 / 267 / 37
Регистрация: 24.05.2012
Сообщений: 629
17.10.2012, 13:10     алгоритм простого обмена, криптография #3
Цитата Сообщение от alsav22 Посмотреть сообщение
j < sizeof(arr2)
j < sizeof arr2 / sizeof(char)
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
17.10.2012, 13:16     алгоритм простого обмена, криптография #4
И что это даст?
Кот Ангенс
 Аватар для Кот Ангенс
317 / 267 / 37
Регистрация: 24.05.2012
Сообщений: 629
17.10.2012, 13:19     алгоритм простого обмена, криптография #5
Корректную работу, если sizeof(char) != 1 или если будет использован другой тип.
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
17.10.2012, 13:20     алгоритм простого обмена, криптография #6
Цитата Сообщение от Кот Ангенс Посмотреть сообщение
если будет использован другой тип
Какой другой и зачем?
Цитата Сообщение от Кот Ангенс Посмотреть сообщение
sizeof(char) != 1
Где-то есть char не равный одному байту?
Кот Ангенс
 Аватар для Кот Ангенс
317 / 267 / 37
Регистрация: 24.05.2012
Сообщений: 629
17.10.2012, 13:22     алгоритм простого обмена, криптография #7
wchar_t какой-нибудь, например.
Цитата Сообщение от alsav22 Посмотреть сообщение
Где-то есть char, не равный одному байту?
Не встречал, но может быть.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.10.2012, 13:26     алгоритм простого обмена, криптография
Еще ссылки по теме:

C++ Сортировка методом простого обмена
Криптография, RSA метод C++
Криптография C++

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

Или воспользуйтесь поиском по форуму:
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
17.10.2012, 13:26     алгоритм простого обмена, криптография #8
Цитата Сообщение от Кот Ангенс Посмотреть сообщение
Не встречал, но может быть.
Не может быть. char он и в Африке равен одному байту.
Цитата Сообщение от Кот Ангенс Посмотреть сообщение
wchar_t какой-нибудь, например.
А при чём здесь wchar? Его в коде у меня нет.
Yandex
Объявления
17.10.2012, 13:26     алгоритм простого обмена, криптография
Ответ Создать тему
Опции темы

Текущее время: 08:26. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru