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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 29, средняя оценка - 4.69
iezekiil
0 / 0 / 0
Регистрация: 27.05.2011
Сообщений: 3
#1

Программа шифрования\дешифрования - C++

27.05.2011, 18:57. Просмотров 3993. Ответов 5
Метки нет (Все метки)

Уважаемые программисты! Хочу попросить у Вас помощи в написании 2-х программ... Я ещё не очень силён в программировании, плюс ко всему какой-то непонятный план занятий (проходили одно, а расчётная работа совершенно по другой теме), поэтому я, собственно, здесь.
Итак, задача состоит в том, чтобы разработать программу шифрования\дешифрования исходного сообщения по таблице Вижинера с символьным ключом, формируемым пользователем.
среда написания Borland C++ 3.1.
Заранее благодарю за Вашу помощь!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.05.2011, 18:57     Программа шифрования\дешифрования
Посмотрите здесь:

C++ программа для шифрования и расшифровки текстовых файлов
C++ Программа для шифрования
Реализация алгоритма шифрования и дешифрования Serpent. C++
C++ Написать программу шифрования и дешифрования методом подстановки
Cоздать программу шифрования и дешифрования C++
Программа шифрования текста C++
C++ Программа для шифрования английского текста шифром ROT13
C++ Дополнить программу шифрования и дешифрования методом одиночной перестановки по ключу
C++ Написать программу, реализующую алгоритм шифрования и дешифрования сообщения RSA
Я написал программу шифрования и дешифрования,но много ошибок, исправьте пожалуйста C++
C++ Программа шифрования файлов с возможностью расширения функционала
Программа шифрования и дешифрования C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
kravam
быдлокодер
1690 / 877 / 44
Регистрация: 04.06.2008
Сообщений: 5,395
27.05.2011, 20:40     Программа шифрования\дешифрования #2
Значит надо самостоятельно изучить таблицу вижинера и вперёд
http://ru.wikipedia.org/wiki/%D8%E8%...E5%ED%E5%F0%E0
iezekiil
0 / 0 / 0
Регистрация: 27.05.2011
Сообщений: 3
27.05.2011, 21:08  [ТС]     Программа шифрования\дешифрования #3
я думаю, если бы я смог сам разобраться, я бы никуда наверное не писал бы за помощью, не так ли?
kravam
быдлокодер
1690 / 877 / 44
Регистрация: 04.06.2008
Сообщений: 5,395
27.05.2011, 21:31     Программа шифрования\дешифрования #4
Не уверен. Ибо здесь полно таких.
Ну что ж, ты не такой, ты чисто и честно пытался разобраться и у тебя не получилось. А поконкретнее нельзя, с чем именно испытываешь трудности?
archinko
13 / 13 / 2
Регистрация: 02.03.2010
Сообщений: 29
27.05.2011, 22:46     Программа шифрования\дешифрования #5
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
#include <iostream>
#include <string>
using namespace std;
 
string crypt(string s,string key)
{
    int k=0;
    for(int i=0;i<s.length();i++) 
    {
        if(s[i]==' ') continue;
        if(k==key.length()) k=0;
        if((s[i]-'a'+key[k])>'z') s[i]=s[i]-'z'+key[k++];
        else s[i]=s[i]-'a'+key[k++];
    }
    return s;
}
string decrypt(string s,string key)
{
    int k=0;
    for(int i=0;i<s.length();i++) 
    {
        if(s[i]==' ') continue;
        if(k==key.length()) k=0;
        if((s[i]+'a'-key[k])<'a') s[i]=s[i]+'z'-key[k++];
        else s[i]=s[i]+'a'-key[k++];
    }
    return s;
}
int main()
{   
    string s="hello world",key="key";
    s=crypt(s,key);
    cout<<s<<endl;
    s=decrypt(s,key);
    cout<<s<<endl;
    return 1;
}
iezekiil
0 / 0 / 0
Регистрация: 27.05.2011
Сообщений: 3
30.05.2011, 00:26  [ТС]     Программа шифрования\дешифрования #6
всё бы ничего...только её под 3.1 надо

Добавлено через 9 часов 47 минут
archinko, переписать под 3.1 у меня не вышло....
я сделал шифратор, но я не могу сообразить, что делать с пробелами, подскажите пожалуйста!!!
вот код:
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
#include<iostream.h>
#include<string.h>
#include<conio.h>
#include<stdio.h>
 
int main()
{
int kst,ksk,p1,p2,i,j,tn[100],pn[100],sn[100];
char text[100],posl[100],shifr[100],key[10];
cin.get(text,100);cin>>key;
static char alf[26]={'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'};
//--------------------0---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
kst=strlen(text);ksk=strlen(key);
//ôîðìèðîâГ*Г*ГЁГҐ êëþ÷åâîé ïîñëåäîâГ*òåëüГ*îñòè
p1=kst/ksk;p2=kst%ksk;
for(i=0;i<p1;i++)
strcat(posl,key);
strncat(posl,key,p2);
//----------------------------------------------------
//Г§Г*ГЇГЁГ±Гј ïîñëåäîâГ*òåëüГ*îñòè ГЁ èñõîäГ*îãî ГІГҐГЄГ±ГІГ* Гў Г·ГЁГ±Г«Г*
for(i=0;i<kst;i++){
 for(j=0;j<26;j++){
 if(text[i]==alf[j])
 tn[i]=j;}}
for(i=0;i<kst;i++){
 for(j=0;j<26;j++){
 if(posl[i]==alf[j])
 pn[i]=j;}}
//----------------------------------------------------
//ïîëó÷åГ*ГЁГҐ Г§Г*øèôðîâГ*Г*Г*îãî ГІГҐГЄГ±ГІГ*
for(i=0;i<kst;i++){
sn[i]=(pn[i]+tn[i])%26;}
for(i=0;i<kst;i++){
 for(j=0;j<26;j++){
 if(sn[i]==j)
 shifr[i]=alf[j];}}
for(i=0;i<kst;i++){
cout<<shifr[i];}
return 0;
}
Yandex
Объявления
30.05.2011, 00:26     Программа шифрования\дешифрования
Ответ Создать тему
Опции темы

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