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

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

Войти
Регистрация
Восстановить пароль
 
digitallivecam
0 / 0 / 0
Регистрация: 08.10.2013
Сообщений: 77
#1

Шифр Вижинера - C++

02.03.2014, 01:01. Просмотров 717. Ответов 1
Метки нет (Все метки)

Здравствуйте.Нужно написать шифр Вижинера с файлами,т.е. 1 файл-исходный текст,2ой зашифрованный,ну а ключ вводится в консоли.Длина исходного текста может быть какой угодно,да к тому же могут быть в тексте символы или пробелы,но их соответственно менять не нужно и исходный текст на русском языке.Самое главное в программе-это быстродействие ,т.е. процесс шифрования текста должен быть наиболее быстрым.Помогите хотя бы с алгоритмом,никак не получается понять,как все это сделать

Добавлено через 10 часов 2 минуты
Подскажите хотя бы алгоритм,как расписать сам шифр,чтобы процесс шифрования был быстрым
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.03.2014, 01:01     Шифр Вижинера
Посмотрите здесь:

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

Шифрование методом Вижинера - C++
Ребята помогите пожалуйста, может у кого-то завалялся исходный код этой программки или похожий, тема довольно распространенная, но мне...

Алгоритм Вижинера (шифрование) с++ - C++
Добрый день, помогите пожалуйста найти ошибку в коде. При шифре в конце выпадает "я" и никак не фиксируется. Первая часть отвечает за...

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

Шифр Виженера - C++
Надо написать программу на С++, расшифровывающую сообщение, зашифрованное шифром Виженера. Слово-ключ не дано. То есть сначала надо...

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

Шифр Замены - C++
Всем Привет!!!Люди помогите пожалуйста мне написать программу на С, которая будет шифровать заменной исходный текст.Под скажите идею, было...

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

Шифр Полибия - C++
Ребята, есть у кого-нибудь шифр квадрата Полибия на c++ рабочий? Весь интернет прошуршил и не нашел..

Шифр Гронсфельда (!) - C++
Пожалуйста, помогите! Очень срочно :) Написать программу на С++, осуществляющую шифрование и дешифрование каких-либо данных. Тип...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
allukard
150 / 150 / 3
Регистрация: 08.11.2010
Сообщений: 1,343
03.03.2014, 21:18     Шифр Вижинера #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
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
 
int main(int argc, char *argv[])
{
   size_t strLen, keyLen, i, k;
   char str[250], key[250];
   char codeStr[250];
 
   system("chcp 1251");
   printf("Введите строку: ");
   fgets(str, 249, stdin);
   printf("Введите ключ: ");
   fgets(key, 249, stdin);
   strLen = strlen(str);
   keyLen = strlen(key);
   str[--strLen] = '\0';
   key[--keyLen] = '\0';
   for (i = 0, k = 0; i < strLen; i++, k++)
   {
      if (k == (keyLen))
         k = 0;
      if (str[i] >= 'a' && str[i] <= 'z')
         codeStr[i] = (str[i] + key[k] - 2*'a') % 26 + 'a';
   }
   codeStr[strLen] = '\0';
   printf("Зашифрованная строка\n%s\n", codeStr);
   strcpy(str, codeStr);
   for (i = 0, k = 0; i < strLen; i++, k++)
   {
      if (k == (keyLen))
         k = 0;
      if (codeStr[i] >= 'a' && codeStr[i] <= 'z')
         str[i] = (codeStr[i] - key[k] + 26) % 26 + 'a';
   }
   printf("Расшифрованная строка\n%s\n", str);
   system("pause");
   return 0;
}
Ответ Создать тему
Опции темы

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