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

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

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

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

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

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

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

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

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

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

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

Шифр Вижиненра, шифр скитала - C++
Я много прочитал информации и захотел реализовать эти шифры на Buider C++, а вот как это сделать. Кому интересно, напишите мне примеры этих...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
IchMors
97 / 93 / 4
Регистрация: 16.05.2010
Сообщений: 310
31.05.2010, 23:30 #2
Вы имеете в виду код Вижинера и ему подобные?
0
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
0
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;
}
Вот что-то типа того.
1
kazak
3035 / 2356 / 155
Регистрация: 11.03.2009
Сообщений: 5,402
Завершенные тесты: 1
01.06.2010, 00:31 #5
Цитата Сообщение от IchMors Посмотреть сообщение
char *text;
char *key;
int i, a;
cin.getline(text, sizeof(text));
Где такому программированию учились?
0
IchMors
97 / 93 / 4
Регистрация: 16.05.2010
Сообщений: 310
01.06.2010, 00:34 #6
Цитата Сообщение от kazak Посмотреть сообщение
Где такому программированию учились?
я знаю что по дурному, но ведь и так указатель может работать
0
kazak
3035 / 2356 / 155
Регистрация: 11.03.2009
Сообщений: 5,402
Завершенные тесты: 1
01.06.2010, 00:47 #7
Такая работа указателя может привести к непредсказуемым последствиям.

Uchiha Beck,
http://www.cyberforum.ru/cpp-beginners/thread84185.html
Шифрование/дешифрование текста: шифр Цезаря
1
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);
}
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.06.2010, 00:54
Привет! Вот еще темы с ответами:

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

шифр RSA - C++
Добрый день, люди добрые помогите )) не могу понять в чем ошибка... сам алгоритм Два больших простых числа P и Q N=PQ затем...

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

Шифр Вижинера С++ - C++
Доброго времени суток помогите реализовать шифр Вижинера на с++(файлы скину).Необходимо сделать после шифровки методом Гаусса шифровку...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
01.06.2010, 00:54
Ответ Создать тему
Опции темы

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