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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 44, средняя оценка - 4.77
Uchiha Beck
0 / 0 / 0
Регистрация: 11.02.2010
Сообщений: 7
#1

Шифр Замены - C++

31.05.2010, 23:24. Просмотров 6466. Ответов 7
Метки нет (Все метки)

Всем Привет!!!Люди помогите пожалуйста мне написать программу на С, которая будет шифровать заменной исходный текст.Под скажите идею, было бы неплохо, если бы показали бы фрагмент кода на С
как шифровать заменой.
Заранее Большое Спасибо!!!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
31.05.2010, 23:24     Шифр Замены
Посмотрите здесь:

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

Шифр простой замены - C++
здрасте!!)) есть ли у кого исходник на с++ реализующий взлом выше указанного шифра алфавит ABCDEFGHIJKLMNOPQRSTUVWXYZ .,;-' ...

Шифр замены(код Цезаря) - C++
Привет всем!!! Шифр замены(код Цезаря) Занумеровать алфавит исходного сообщения. Пусть m-длина алфавита сообщения; n,k-целые числа и...

Как следует реализовать шифр замены? - C++
Нужно реализовать шифр замены, как это можно сделать через Windows Form Application или консольное приложение?

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

Шифр Виженера - C++
У кого есть исходник на Си ?

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

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
IchMors
97 / 93 / 4
Регистрация: 16.05.2010
Сообщений: 310
31.05.2010, 23:30     Шифр Замены #2
Вы имеете в виду код Вижинера и ему подобные?
Uchiha Beck
0 / 0 / 0
Регистрация: 11.02.2010
Сообщений: 7
01.06.2010, 00:01  [ТС]     Шифр Замены #3
Мне сказали чтоб программа шифровала исходный текст припомощи простой замены одного алфавита на другой что-то типо этого:
a b c d e f g h i j k l m n n o p q r s t u v w x y z
q r e w f t j i l y z a p b x o k h c n d s g m u v
IchMors
97 / 93 / 4
Регистрация: 16.05.2010
Сообщений: 310
01.06.2010, 00:25     Шифр Замены #4
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
#include<stdio.h>
#include<conio.h>
#include <iostream.h>
#include <string.h>
#include <time.h>
#include <stdlib.h>
int main()
{
    char *text;
    char *key;
    int i, a;
    cin.getline(text, sizeof(text));
    i=strlen(text);
    srand(time(NULL));
    for(a=0;a<i;a++)//рандомное заполнение ключа
        key[a]=char((rand()%255));
    
    for(a=0;a<i;a++)// шифрование
        text[a]+=key[a];
 
    for(a=0;a<i;a++)// дешифрование
        text[a]-=key[a];
 
getch();
return 0;
}
Вот что-то типа того.
kazak
3034 / 2355 / 155
Регистрация: 11.03.2009
Сообщений: 5,401
01.06.2010, 00:31     Шифр Замены #5
Цитата Сообщение от IchMors Посмотреть сообщение
char *text;
char *key;
int i, a;
cin.getline(text, sizeof(text));
Где такому программированию учились?
IchMors
97 / 93 / 4
Регистрация: 16.05.2010
Сообщений: 310
01.06.2010, 00:34     Шифр Замены #6
Цитата Сообщение от kazak Посмотреть сообщение
Где такому программированию учились?
я знаю что по дурному, но ведь и так указатель может работать
kazak
3034 / 2355 / 155
Регистрация: 11.03.2009
Сообщений: 5,401
01.06.2010, 00:47     Шифр Замены #7
Такая работа указателя может привести к непредсказуемым последствиям.

Uchiha Beck,
http://www.cyberforum.ru/cpp-beginners/thread84185.html
Шифрование/дешифрование текста: шифр Цезаря
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.06.2010, 00:54     Шифр Замены
Еще ссылки по теме:

Аффинный шифр - C++
Здравствуйте. Мне необходимо провести кодирование и декодирование текста при использовании аффинного шифра. Я написал следующую программу: ...

Несложный шифр - C++
Здравтвуйте! Никак не могу придумать как реаоизовать данный &quot;шифр&quot;: Дан файл с числами и файл с буквами. Каждой букве соответствует...

Шифр Виженера - C++
#include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;string&gt; #include &lt;conio.h&gt; #include &lt;stdlib.h&gt; #include &lt;sstream&gt; #include...

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

Шифр Гронсфельда - C++
Такой вопрос. Почему функция Gronsfeld всегда возвращает значение 0 (&quot;\0&quot;)? Может где ошибка, я не могу понять где? Помогите, кто может ...


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

Или воспользуйтесь поиском по форуму:
Mur3ik
102 / 102 / 4
Регистрация: 12.05.2010
Сообщений: 232
01.06.2010, 00:54     Шифр Замены #8
Есть вот такое простенькое.
Шифр Цезаря — один из древнейших шифров. При шифровании каждый символ заменяется другим, отстоящим от него в алфавите на фиксированное число позиций.
Пример
Шифрование с использованием ключа : 3
Оригинальный текст: Съешь же ещё этих мягких французских булок, да выпей чаю.
Шифрованный текст: Фэзыя йз зьи ахлш пвёнлш чугрщцкфнлш дцосн, жг еютзм ъгб.
Дан текстовый файл. Зашифровать его, используя шифр Цезаря. Результат записать в другой файл.
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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
#include <iostream>
#include <clocale>
#include <conio.h>
#include <windows.h>
#include <fstream>
#include <io.h>
#include <iomanip>
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
using namespace std;
 
void main ()
{
setlocale(LC_ALL, "Russian");
FILE *f1=fopen("file.txt","r+");
FILE *f2=fopen("out.txt","w");
    if(f1==NULL)
    {
    cout<<"Нет такого файла"<<endl;
    exit(1);
    }
char *p;
int cleth;
char str[255];
int key=3, lang;
for(int i=0;i>-100;i--)
{cout<<"Letter="<<(char)i<<" code= "<<i<<endl;}
 
cout<<"Какой язык?\n1 - Английский\n2 - Русский\n";
do{
cin>>lang;
if(lang<1||lang>2)
{cout<<"Введите 1 или 2\n";}
}while(lang<1||lang>2);
cout<<"Введите ключ\n";
do{
cin>>key;
if(lang==1&&key<1||key>25&&lang==1)
{cout<<"Ключ может быть от 1 до 25:\n";}
if(lang==2&&key<1||key>32&&lang==2)
{cout<<"Ключ может быть от 1 до 32:\n";}
}while(key<1||key>25&&lang==1||key>32&&lang==2);
while(!feof(f1))
{
fgets(str,254,f1);
    cleth=strlen(str);
    p=new char [cleth];
    p[cleth]='\0';
        for(int i=0; i<cleth; i++)
        {
            cout<<"Letter="<<str[i]<<" code= "<<(int)str[i]<<endl;
            if((int)str[i]<=90&&(int)str[i]>=65&&lang==1)
                {
                    if((int)str[i]+key<=90)
                    {p[i]=(int)str[i]+key;}
                    if((int)str[i]+key>90)
                    {p[i]=64+(int)str[i]+key-90;}
                }
            else
            if((int)str[i]<=122&&(int)str[i]>=97&&lang==1)
                {
                    if((int)str[i]+key<=122)
                    {p[i]=(int)str[i]+key;}
                    if((int)str[i]+key>122)
                    {p[i]=96+(int)str[i]+key-122;}
                }
            else
            if((int)str[i]<=-33&&(int)str[i]>=-64&&lang==2)
                {
                    if((int)str[i]+key<=-33)
                    {p[i]=(int)str[i]+key;}
                    if((int)str[i]+key>-33)
                    {p[i]=-34+(int)str[i]+key+64;}
                }
            else
            if((int)str[i]<=-1&&(int)str[i]>=-32&&lang==2)
                {
                    if((int)str[i]+key<=-1)
                    {p[i]=(int)str[i]+key;}
                    if((int)str[i]+key>-1)
                    {p[i]=-2+(int)str[i]+key+32;}
                }
            else
                {
                p[i]=str[i];
                }
        }
    fprintf(f2,"%s\n",p );  
    }
fclose(f1);
fclose(f2);
}
Yandex
Объявления
01.06.2010, 00:54     Шифр Замены
Ответ Создать тему
Опции темы

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