Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
0 / 0 / 0
Регистрация: 01.11.2012
Сообщений: 15
1

Неправильно происходит расшифровка зашифрованного

08.01.2014, 06:21. Показов 787. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Ребята, помогите пожалуйста, я уже не знаю что тут делать, всю голову сломала, в коде первая кнопка(шифрование в данном случае) работает верно, а вот вторая кнопка работает совершенно иначе, но формулы по которым идет процесс расшифровки верный, я с формулами впервые так что не знаю что и как вам скидывать, и поэтому для начала я вам скину просто код
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
94
95
96
97
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
 
namespace egor
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
 
        private void button2_Click(object sender, EventArgs e)
        {
 
            string s = richTextBox1.Text;
            string s1 = richTextBox2.Text;
            string s2 = "";
            if (s1.Length == 0) //MessageBox.Show(String.Format("       Введите ключ"), "Ошибка");
                System.Windows.Forms.MessageBox.Show("Введите ключ", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Information);
            else
            {
                int m = 0;
                for (int j = 0; j < s.Length; j++)
                {
                    string ansi_string = s;
                    char q = ansi_string[j];
 
                    int i = 0;
 
                    if (m >= i * s1.Length) { m = (m - i * s1.Length); i++; }
                    string ansi_string1 = s1;
                    char q1 = ansi_string1[m];
                    m++;
 
 
                    if ((q >= 'a') && (q <= 'z') && (q1 >= 'a') && (q1 <= 'z'))
                    {
                       
 
                        int a = ((int)(q) + (int)(q1) + 26) % 26 + 'a';
                        char q2 = (char)(q);
                        s2 = s2 + q2.ToString();
                    }
 
                    else s2 = s2 + q.ToString();
                }
                richTextBox3.Text = s2;
            }
        }
 
        private void button1_Click(object sender, EventArgs e)
        {
            string s = richTextBox1.Text;
            string s1 = richTextBox2.Text;
            string s2 = "";
            if (s1.Length == 0) //MessageBox.Show(String.Format("       Введите ключ"), "Ошибка");
                System.Windows.Forms.MessageBox.Show("Введите ключ", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Information);
            else
            {
                int m = 0;
                for (int j = 0; j < s.Length; j++)
                {
                    string ansi_string = s;
                    char q = ansi_string[j];
 
                    int i = 0;
 
                    if (m >= i * s1.Length) { m = (m - i * s1.Length); i++; }
                    string ansi_string1 = s1;
                    char q1 = ansi_string1[m];
                    m++;
 
 
                    if ((q >= 'a') && (q <= 'z') && (q1 >= 'a') && (q1 <= 'z'))
                    {
                        int a = (((int)(q) + (int)(q1)-2*'a') % 26) + 'a';
 
                      
                        char q2 = (char)(a);
                        s2 = s2 + q2.ToString();
                    }
 
                    else s2 = s2 + q.ToString();
                }
                richTextBox3.Text = s2;
            }
        }
    }
}
Может я перепутала что то с richTextBox ? так как вполне все может быть...
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
08.01.2014, 06:21
Ответы с готовыми решениями:

Выделение символов происходит неправильно
Всем доброго времени суток! Возникла проблема с выделением символов, отличающихся от букв и...

Расшифровка зашифрованного поля
строится база так CREATE TABLE table ( question WIDEMEMO BLOBBlockSize 102400...

Расшифровка текста, зашифрованного методом Кардано
Подскажите пожалуйста как можно сделать обратное действие(DeCrypt), то есть вернуть только буквы...

Расшифровка предложения, зашифрованного методом двойной перестановки
Доброе время суток всем! Помогите расшифровать предложение. Оно зашифровано методом двойной...

5
162 / 162 / 42
Регистрация: 29.05.2010
Сообщений: 435
08.01.2014, 22:17 2
а вот вторая кнопка работает совершенно иначе
Поконкретнее. В чем проявляется ошибка?
0
71 / 66 / 29
Регистрация: 28.10.2013
Сообщений: 248
09.01.2014, 16:57 3
Можно очень кратко описать принцип шифрования? Например шифруем "test" с ключем "abc".
0
0 / 0 / 0
Регистрация: 01.11.2012
Сообщений: 15
10.01.2014, 02:46  [ТС] 4
Цитата Сообщение от AnDrew_LP Посмотреть сообщение
Поконкретнее. В чем проявляется ошибка?
В том, что кнопка расшифровать не не соответствует своему исходному слову...
Она просто копирует то что находится в первом окне
(пример внизу)
Миниатюры
Неправильно происходит расшифровка зашифрованного   Неправильно происходит расшифровка зашифрованного  
0
0 / 0 / 0
Регистрация: 01.11.2012
Сообщений: 15
10.01.2014, 03:03  [ТС] 5
Цитата Сообщение от Lutk Посмотреть сообщение
Можно очень кратко описать принцип шифрования? Например шифруем "test" с ключем "abc".
принцип это как бы смесь с шифром Цезаря...
Первый символ исходного текста A зашифрован последовательностью L, которая является первым символом ключа. Первый символ L шифрованного текста находится на пересечении строки L и столбца A в таблице Виженера. Точно так же для второго символа исходного текста используется второй символ ключа; то есть второй символ шифрованного текста X получается на пересечении строки E и столбца T. Остальная часть исходного текста шифруется подобным способом.
Пример таков:
Исходный текст: ATTACKATDAWN
Ключ: LEMONLEMONLE
Зашифрованный текст: LXFOPVEFRNHR

Таблица Виженера(вдруг понадобиться)

но суть в том что он не расшифровывает, я пример привела чуть выше
Миниатюры
Неправильно происходит расшифровка зашифрованного  
0
71 / 66 / 29
Регистрация: 28.10.2013
Сообщений: 248
10.01.2014, 08:32 6
В button2_Click это:
Код
char q2 = (char)(q);
Заменить на это:
Код
char q2 = (char)(a);
0
10.01.2014, 08:32
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
10.01.2014, 08:32
Помогаю со студенческими работами здесь

Расшифровка слова, зашифрованного многократным добавлением двух одинаковых букв
Написать программу, расшифровывающую слово (последовательность символов латинского алфавита, в...

Что работает неправильно в коде для подбора пароля зашифрованного crypt (хакерское задание CS50 №2)
Подскажите, я уже целый день просидел - не смог найти проблему. GDB показывает что все работает как...

Преобразование из Pchar в string происходит неправильно
function Price(ei : PChar) : real; begin ShowMessage(ei+ '***1'); eis:=StrPas(ei);...

Ошибка в коде, неправильно происходит операция деления
Задание : Напишите программу для вычисления формулы, согласно варианту задания. Все числа 16-битные...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru