0 / 0 / 2
Регистрация: 28.11.2013
Сообщений: 15
1

Принцип шифрования Виженера

09.04.2014, 14:22. Показов 2917. Ответов 3
Метки нет (Все метки)

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
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO;
using System.Threading.Tasks;
 
namespace Crypt
{
    public partial class Form1 : Form
    {
        public OpenFileDialog openFiles;
        public SaveFileDialog saveFiles;
        private string fileName = "Untitled";
        private bool m_DocumentChanged = false;
        public Form1()
        
        
        {
            InitializeComponent();
        }
 
        private void Form1_Load(object sender, EventArgs e)
        {
            this.Text = "Crypt";
        }
 
        private void Шифрувати_Click(object sender, EventArgs e)
        {
            int add;
            string text = Convert.ToString(richTextBox1.Text);
            char[] open_txt_chars = text.ToCharArray();
            char[] key = text.ToCharArray();
            char[] autokey_chars = new char[open_txt_chars.Length];
            char[] encr_chars text = Convert.ToString(textBox1.Text);<=====вот тут
            
//= new char[open_txt_chars.Length];
            Array.Copy(key, 0, autokey_chars, 0, key.Length);
            Array.Copy(open_txt_chars, 0, autokey_chars, key.Length, autokey_chars.Length - key.Length);
 
        for (int i = 0; i < autokey_chars.Length; i++)
            {
                add = (open_txt_chars[i] + autokey_chars[i]) % 9899;
                encr_chars[i] = (char)add;
            }
 
            text = new string(encr_chars);
            richTextBox2.Text = text.ToString();
        }
 
        private void Дешифрувати_Click(object sender, EventArgs e)
        {
            int subs;
            string text = Convert.ToString(richTextBox1.Text);
            char[] encr_chars = text.ToCharArray();
            char[] decr_chars = new char[encr_chars.Length];
 
            text = Convert.ToString(textBox1.Text);
            char[] key = text.ToCharArray();
 
 
            for (int i = 0; i < encr_chars.Length; )
            {
                for (int j = 0; j < key.Length; j++)
                {
                    if (i == encr_chars.Length)
                        break;
                    subs = ((encr_chars[i] - key[j]) % 9899);
                    decr_chars[i] = (char)subs;
                    key[j] = decr_chars[i];
                    i++;
                }
            }
            text = new string(decr_chars);
            richTextBox2.Text = text.ToString();
 
        }
 
        private void відкритиToolStripMenuItem_Click(object sender, EventArgs e)
        {
            openFiles = new OpenFileDialog();
            openFiles.Title = "Шифратор";
            openFiles.Filter = "Текстовий файл(*.txt)|*.txt";
            if (openFiles.ShowDialog() == DialogResult.OK)
            {
                richTextBox1.Clear();
                TextReader reader = new StreamReader(openFiles.FileName, Encoding.Default);
                var text = reader.ReadToEnd();
                reader.Close();
                richTextBox1.Text = text;
                fileName = openFiles.FileName;
            }
 
        }
 
        private void зберегтиToolStripMenuItem_Click(object sender, EventArgs e)
        {
            MenuFileSaveAs();
        }
 
        private void MenuFileSaveAs()
        {
            try
            {
                saveFiles = new SaveFileDialog();
                saveFiles.Title = "Зберегти";
                saveFiles.Filter = "Текстовий файл(*.txt)|*.txt";
 
                if (saveFiles.ShowDialog() == DialogResult.OK)
                {
                    StreamWriter streamwriter =
                      new System.IO.StreamWriter(saveFiles.FileName, false,
                       System.Text.Encoding.GetEncoding("utf-8"));
                    m_DocumentChanged = false;
                    streamwriter.Write(this.richTextBox1.Text);
                    streamwriter.Close();
                }
                MessageBox.Show("Файл успішно збережено", "Інфо", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
            }
            catch (Exception ex) { MessageBox.Show("Помилка, при збереженню файла! " + ex.Message, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); }
        }
 
        private void richTextBox2_TextChanged(object sender, EventArgs e)
        {
            m_DocumentChanged = true;
        }
 
        private void Очистити_Click(object sender, EventArgs e)
        {
            richTextBox1.Clear();
            richTextBox2.Clear();
            textBox1.Clear();
        }
 
        private void вихідToolStripMenuItem_Click(object sender, EventArgs e)
        {
            Application.Exit();
        }
 
    }
}
Вложения
Тип файла: rar Crypt.rar (45.5 Кб, 102 просмотров)
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
09.04.2014, 14:22
Ответы с готовыми решениями:

Реализовать алгоритмы шифрования виженера и гаммирования
Вообщем, каким образом возможно это сделать в одной программе? возможно ли сделать чтобы они были...

Шифр Виженера: неверный результат шифрования символов
private static int smesh = (int)'a';//смещение алфавита относительно таблицы юникодов ...

Организовать процессы шифрования текста шифром Виженера и дешифровки
Я знаю что эта тема обсуждалась, но мне нужно сделать немного подругому &quot;Шифрование сводится к...

Организовать процессы шифрования текста шифром Виженера и дешифровки
Организовать процессы шифрования текста шифром Виженера и дешифровки. Шифрование сводится...

3
6048 / 3457 / 335
Регистрация: 14.06.2009
Сообщений: 8,136
Записей в блоге: 2
09.04.2014, 15:20 2
Цитата Сообщение от homerager Посмотреть сообщение
Принцып шифрования винжера
Грамотность позволяет жить легче
шифрования винжера Виженера
http://ru.wikipedia.org/wiki/%... 1%80%D0%B0
0
0 / 0 / 2
Регистрация: 28.11.2013
Сообщений: 15
09.04.2014, 23:09  [ТС] 3
Сори недосмотрел! Тема еще актуальна.
0
Заблокирован
10.04.2014, 08:41 4
homerager,
C#
1
char[] encr_chars text = Convert.ToString(textBox1.Text);
замените на
C#
1
char[] encr_chars = textBox1.Text.ToCharArray();
0
10.04.2014, 08:41
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
10.04.2014, 08:41
Помогаю со студенческими работами здесь

Написать скрипт для шифрования/дешифрования строк алгоритмом Виженера
Привет нужно написать скрипт для шифрования/дешифрования строк алгоритмом Виженера (русские буквы)...

Разработать программу шифрования открытого файла на базе алгоритма Виженера
5 . Разработать программу П3 шифрования открытого файла « F1.TXT » на базе криптографического...

принцип блочного шифрования
проблема такая,я понимаю как работает блочный шифр,но не могу реализовать его для реального...

Выяснить принцип шифрования
Есть неизвестная функция M = f(N). M и N длиной 4 байта. Функция 99% не обратимая т.к....


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

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