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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
myxasa
14 / 14 / 1
Регистрация: 31.05.2012
Сообщений: 210
Записей в блоге: 2
#1

Шифрование/Дешифрование - теряются два символа - C++

23.02.2013, 19:22. Просмотров 423. Ответов 2
Метки нет (Все метки)

Теряются два последних символа при декодировании ( если в цикле i <= size сделать, то 1 символ только) (см. скрин):
C++
1
2
3
4
5
    string str = "djxgcjgfjkgykyjgfmgfmymygkuhku";
    cout<<str<<endl;
    string crypt = encrypt(str);
    cout<<crypt;
    cout<<endl<<decrypt(crypt);
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
string encrypt(string str){
    string result;
    string ch;
    string kch;
 
    string pass = "%*#^d&^&ggfw3";
    int size = str.length();
    for(int i = 1; i < size; i++)
    {
        ch = substr(str,i-1,1);
        kch = substr(pass,(i%pass.length())-1,1);
        result += (char)((int)ch[0]+(int)kch[0]);
    }
    return result;
 
}
string decrypt(string str){
    string result;
    string ch;
    string kch;
 
    string pass = "%*#^d&^&ggfw3";
 
    int size = str.length();
    for(int i = 1; i < size; i++)
    {
        ch = substr(str,i-1,1);
        kch = substr(pass,(i%pass.length())-1,1);
        result += (char)((int)ch[0]-(int)kch[0]);
    }
    return result;
}
C++
1
2
3
4
5
6
7
8
9
10
11
string substr(const string &str, int start)
{
    return substr(str,start,str.length());
}
string substr(const string &str, int start, int length)
{
    if (start  < 0 ) start+=str.length();
    if (length < 0 ) length=str.length()+length-start;
    if (length < 0 ) return "";
    return str.substr(start,length);
}
Миниатюры
Шифрование/Дешифрование  - теряются два символа  
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.02.2013, 19:22
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Шифрование/Дешифрование - теряются два символа (C++):

Шифрование и дешифрование на Cи - C++
не получается зашифровать текст и получить буквы из кода. Попалась вот такая задача: Составить программу, которая вводит строку текста,...

Шифрование/Дешифрование - C++
Не получается выполнить последний пункт на Дешифровании(после замены) превратить цифры с буквы. Подскажите алгоритм пожалуйста. Именно этой...

Шифрование и дешифрование - C++
Помогите написать программу, которая будет шифровать и дешифровать матррицу.

Шифрование и дешифрование файла - C++
4. Реализовать в программе шифрование и дешифрацию файла с использованием квадрата Полибия, обеспечив его случ помогите срочно нужно...

Шифрование и дешифрование текста - C++
Народ вот програма для шифрования текста мне нужно переделать так штоб били подпрограми: 1) на меню пользователя cout&lt;&lt;&quot; Меню...

XOR шифрование/дешифрование - C++
Всем привет. Пож-ста помогите написать программу, шифрующую/дешифрующую xor маску. 2 Примера : N1 из FF FF FF FF D2...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
myxasa
14 / 14 / 1
Регистрация: 31.05.2012
Сообщений: 210
Записей в блоге: 2
23.02.2013, 19:30  [ТС] #2
Удалите пожалуйста тему.
Хулиган
85 / 80 / 12
Регистрация: 08.08.2012
Сообщений: 737
23.02.2013, 19:39 #3
Цитата Сообщение от myxasa Посмотреть сообщение
Теряются два последних символа при декодировании
for(int i = 1; i < size; i++) нужно i сделать 0 нумерация с 0 же начинается
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.02.2013, 19:39
Привет! Вот еще темы с ответами:

Шифрование/дешифрование методом Цезаря - C++
посмотрите пжлст код на c++, если что укажите на ошибки и т.п. сильно не разбираюсь Если не трудно помогите подкорректировать) #include...

Шифрование/дешифрование методом Цезаря - C++
Имеется код, который зашифровывает написанное методом Цезаря. Нужна помощь: как добавить сюда дешифрование? // хз.cpp : main project...

Шифрование и дешифрование символьной строки - C++
Доброй ночи. есть код, все правильно написано, но выдает ошибку в строке: copy( istream_iterator &lt; string &gt;( ist ), istream_iterator &lt;...

Шифрование и дешифрование методом Цезаря - C++
Здравствуйте. Не работает шифрование и дешифрование. Если выводить в шифровке расположение букв числами, то они отрицательные....


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

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

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