Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.63/41: Рейтинг темы: голосов - 41, средняя оценка - 4.63
 Аватар для worldandlife
629 / 41 / 25
Регистрация: 25.04.2017
Сообщений: 513

Написать дешифратор

22.10.2018, 17:22. Показов 10414. Ответов 151
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, можете помочь сделать проект, задача интересная: Дешифратор Виженера.
Вот начал с "модели данных" ,написал что программа должна делать:
Открыть (загрузить) зашифрованный текст
Сохранить отчет о дешифровке
Вывести время дешифровки
Выбор словаря ?!
Выбор алфавита(автоматический ?!)?!


Обрабатывать исключения

Найти длину ключа:
Разбить(сдвинуть) открытый текст на n столбцов
Вычислим автокорреляционные коэффициенты для сдвигов t = 1 , … , n , где n максимальная длина ключа
Вычислить индекс совпадений для сдвигов t = 1 , … , n ,
Найти ключ:
Двигать столбцы с определенным сдвигом, равным m, где m = алфавит - 1
Вычислить взаимные индексы совпадений для k -1 уже разбитых столбцов, где k длина ключа
Найти максимальные взаимные индексы совпадений для каждой из строк

В конечном итоге получаем алфавит - 1 вероятных ключей, но только один из них является настоящим.
Теперь нужно его определить не задействуя человека:

Первый вариант это словари, если в словаре ключа нет, ключ не осмысленный, то второй вариант вычислить корреляционную сумму.

?! - пока не знаю как это реализовать.

Получается из того, что я вам написал нужно выписать существительные - они потенциальные классы, потом нарисовать схему: обозначить связи наследование, агрегацию, в этом пока не понятно.
Выписал некоторые, вот что получилось:
Названия будут на английском , а пока что:

Контроль ошибок
Финальная расшифровка
Индекс совпаений
Взаимный индекс совпадений
Автокорреляция
ВыборАлфавита
СвигСтолбцов
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
22.10.2018, 17:22
Ответы с готовыми решениями:

Цезарь (дешифратор)
Помогите исправить дешифратор цезаря using System; using System.Collections.Generic; using System.Linq; using System.Text; ...

Дешифратор Цезаря
Подскажите с дешифратором для Цезаря....заранее спасибо... char alphavit = { {'A', 'B', 'C', 'D',...

Шифратор/дешифратор
Всем привет! Помогите пожалуйста! Описываю задачу: Есть зашифрованный файл. Его текст примерно такой: А Б В ... 0 1 ... 9

151
 Аватар для V_Monomax
1406 / 1260 / 20
Регистрация: 09.08.2011
Сообщений: 2,319
Записей в блоге: 1
24.10.2018, 15:59
Студворк — интернет-сервис помощи студентам
worldandlife, подытожим:
Итак ответьте:
1. Как назовем пространство имен?
2. Как назовем класс который будет расшифровывать текст?
3. Как назовем метод который будет проверять дешифровалась ли строка?
0
 Аватар для worldandlife
629 / 41 / 25
Регистрация: 25.04.2017
Сообщений: 513
24.10.2018, 16:31  [ТС]
1. Vigenere
2. FinalDecrypt или Decrypt
3. CheckDecrypt или CheckResult

Добавлено через 16 минут
Цитата Сообщение от V_Monomax Посмотреть сообщение
Итак ответьте:
1. Vigenere
2. FinalDecrypt или Decrypt
3. CheckDecrypt или CheckResult
0
 Аватар для V_Monomax
1406 / 1260 / 20
Регистрация: 09.08.2011
Сообщений: 2,319
Записей в блоге: 1
24.10.2018, 16:31
Цитата Сообщение от worldandlife Посмотреть сообщение
2. FinalDecrypt или Decrypt
вы говорите о глаголе, нужно существительное.
Цитата Сообщение от worldandlife Посмотреть сообщение
1. Vigenere
Цитата Сообщение от worldandlife Посмотреть сообщение
3. CheckDecrypt или CheckResult
А это хорошо!
Подумайте над вторым пунктом.
0
 Аватар для worldandlife
629 / 41 / 25
Регистрация: 25.04.2017
Сообщений: 513
24.10.2018, 16:36  [ТС]
Цитата Сообщение от V_Monomax Посмотреть сообщение
нужно существительное.
FinalDecrypt или Decrypt так это существительные, я имел в виду : Финальная расшифровка
0
 Аватар для V_Monomax
1406 / 1260 / 20
Регистрация: 09.08.2011
Сообщений: 2,319
Записей в блоге: 1
24.10.2018, 16:59
Decrypt FinalDecrypt просто пользуясь гугл переводчиком, я понимаю что
Цитата Сообщение от worldandlife Посмотреть сообщение
так это существительные,
это не правда!
Ищем далее, а не
Цитата Сообщение от worldandlife Посмотреть сообщение
я имел в виду
надо писать так что-бы не вы имели, а так что-бы сторонний программист мог прочитать.
0
 Аватар для worldandlife
629 / 41 / 25
Регистрация: 25.04.2017
Сообщений: 513
24.10.2018, 17:05  [ТС]
Цитата Сообщение от V_Monomax Посмотреть сообщение
это не правда!
Добавим три буквы Decryption, как вам?
0
 Аватар для V_Monomax
1406 / 1260 / 20
Регистрация: 09.08.2011
Сообщений: 2,319
Записей в блоге: 1
24.10.2018, 17:28
Цитата Сообщение от worldandlife Посмотреть сообщение
Добавим три буквы Decryption, как вам?
не очень, но приемлемо, я бы все таки взял Decryptor, но тут решать вам.
Для того что бы проиллюстрировать ваше название оцените:
Вы предлагаете
Класс Дешифрирование
Я предлагаю
Класс Дешифратор
В первом случае отглагольное существительное (почитайте грамматику английского, лишним не будет).
Во втором случае просто существительное.
По сути в дальнейшем будет такая бяка:
Дешифрирование.ПроверитьРасшифровку
Сравни
Дешифратор.ПроверитьРасшифровку
и даже вот такая:
Дешифрирование.РасшифрованныйТекст
Сравни
Дешифратор.РасшифрованныйТекст
Но решать конечно вам.

Добавлено через 3 минуты
еще один тонкий момент, Decryptor - часто встречается, поэтому лучше если мы его чуть модифицируем
VigenerDecryptor. Конечно в итоге будет что-то типа:
ИмяПриложения.Вижинер.ВиженерДешифратор
Но это лучше чем если у вас встретится дважды одно и тоже название класса.

Добавлено через 2 минуты
worldandlife, давайте повторно подытожим:
1. Как назовем пространство имен?
2. Как назовем класс который будет расшифровывать текст?
3. Как назовем метод который будет проверять дешифровалась ли строка?
4. как назовем свойство которое вернет текст?
0
 Аватар для worldandlife
629 / 41 / 25
Регистрация: 25.04.2017
Сообщений: 513
24.10.2018, 17:35  [ТС]
Цитата Сообщение от V_Monomax Посмотреть сообщение
VigenerDecryptor
Давайте этот оставим

Добавлено через 4 минуты
Цитата Сообщение от V_Monomax Посмотреть сообщение
1. Как назовем пространство имен?
Vigenere
Цитата Сообщение от V_Monomax Посмотреть сообщение
2. Как назовем класс который будет расшифровывать текст?
VigenerDecryptor
Цитата Сообщение от V_Monomax Посмотреть сообщение
3. Как назовем метод который будет проверять дешифровалась ли строка?
CheckDecrypt
Цитата Сообщение от V_Monomax Посмотреть сообщение
как назовем свойство которое вернет текст?
CipherResult
0
 Аватар для V_Monomax
1406 / 1260 / 20
Регистрация: 09.08.2011
Сообщений: 2,319
Записей в блоге: 1
25.10.2018, 08:42
Цитата Сообщение от worldandlife Посмотреть сообщение
CipherResult
если посмотреть на перевод, то получается результат шифра, ну никак не сочетается с расшифрованным текстом, предлагаю DecryptingText - приятнее все-так читать что текст расшифрованный.
Как думаете?
0
25.10.2018, 10:14

Не по теме:

V_Monomax, worldandlife,
Может вы уже к коду все таки перейдете ? :)

0
25.10.2018, 10:18

Не по теме:

Storm23, понравилась тема? :) Надо же человеку объяснить, как и почему даются названия, для чего будет существовать класс, иначе просто получится, что я написал код, а человек его не осмысли, тогда вся работа будет на смарку. А так пусть долго, пусть нудно, но человек усвоит те азы, которые позволят написать хороший код.

0
 Аватар для LeniumSoft
1454 / 847 / 150
Регистрация: 06.06.2012
Сообщений: 2,370
25.10.2018, 11:08
Цитата Сообщение от V_Monomax Посмотреть сообщение
ну никак не сочетается с расшифрованным текстом, предлагаю DecryptingText
Тогда DecryptedText!
0
 Аватар для V_Monomax
1406 / 1260 / 20
Регистрация: 09.08.2011
Сообщений: 2,319
Записей в блоге: 1
25.10.2018, 11:12
Цитата Сообщение от LeniumSoft Посмотреть сообщение
Тогда DecryptedText!
согласен.
Сами справитесь с созданием папки с классом (пространства имен и класса в нем)?

Добавлено через 57 секунд
worldandlife, последний вопрос был к вам.
0
 Аватар для LeniumSoft
1454 / 847 / 150
Регистрация: 06.06.2012
Сообщений: 2,370
25.10.2018, 11:31
Цитата Сообщение от V_Monomax Посмотреть сообщение
последний вопрос был к вам.
0
 Аватар для V_Monomax
1406 / 1260 / 20
Регистрация: 09.08.2011
Сообщений: 2,319
Записей в блоге: 1
25.10.2018, 11:42
LeniumSoft,
0
 Аватар для worldandlife
629 / 41 / 25
Регистрация: 25.04.2017
Сообщений: 513
25.10.2018, 16:35  [ТС]
Цитата Сообщение от LeniumSoft Посмотреть сообщение
Тогда DecryptedText
Цитата Сообщение от V_Monomax Посмотреть сообщение
Сами справитесь с созданием папки с классом (пространства имен и класса в нем)?
А обязательно ли создавать папку, или это больше для удобства?
Просто при создании проекта она автоматически создается или речь не о ней?
0
 Аватар для worldandlife
629 / 41 / 25
Регистрация: 25.04.2017
Сообщений: 513
25.10.2018, 16:48  [ТС]
1.Создал новый проект WinForms
2. Добавил класс:
Изображения
 
0
 Аватар для V_Monomax
1406 / 1260 / 20
Регистрация: 09.08.2011
Сообщений: 2,319
Записей в блоге: 1
25.10.2018, 17:16
Цитата Сообщение от worldandlife Посмотреть сообщение
А обязательно ли создавать папку, или это больше для удобства?
обязательно для удобства.
Цитата Сообщение от worldandlife Посмотреть сообщение
Просто при создании проекта она автоматически создается или речь не о ней?
не о ней.

Добавлено через 39 секунд
Цитата Сообщение от worldandlife Посмотреть сообщение
1.Создал новый проект WinForms
2. Добавил класс:
изображение отсутствует!
0
 Аватар для worldandlife
629 / 41 / 25
Регистрация: 25.04.2017
Сообщений: 513
25.10.2018, 17:32  [ТС]
Цитата Сообщение от V_Monomax Посмотреть сообщение
изображение отсутствует!
Да, я поздно вспомнил что у вас не показывает картинки, кстати почему?
Чтобы создать папку с именем Vigenere мне нужно заново создавать проект, ведь имя уже зарезервировано
0
 Аватар для V_Monomax
1406 / 1260 / 20
Регистрация: 09.08.2011
Сообщений: 2,319
Записей в блоге: 1
25.10.2018, 17:38
Цитата Сообщение от worldandlife Посмотреть сообщение
Чтобы создать папку с Именем Vigenere мне нужно заново создавать проект, ведь имя уже зарезервировано
не проблема, давайте подумаем об правильном имени, я предлагаю EncoderVigener

Добавлено через 2 минуты
Это для пространства имен (названия папки). В проекте нажать правой кнопкой мышки, найти добавить и добавить папку, потом переименовать папку, так как договорились и аналогично (тому как добавляли папку) добавить класс.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
25.10.2018, 17:38

Дешифратор Шифр Цезаря
Привет, делаю лабу, написал шифр цезаря вот код: Console.WriteLine("Введите слово,которое нужно зашифровать:"); string...

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

Шифратор/дешифратор с случайным ключем
Необходимо реализовать шифратор\дешифратор с рандомным ключем. Я его реализовал. Вот код: void codePhrase() //шифрую { ...

Нужен шифратор/дешифратор, который будет заменять буквы в тексте
Мне нужен год по которому программа будет заменять буквы в тексте. Например А на Б, Г на З и т.д. И сохранять в файл И по такому же...

Шифр Цезаря: Как сделать сортировку в шифре, чтобы дешифратор выдал единственно верное решение
Люди, как сделать сортировку в шифре, чтобы дешифратор выдал единственно верное решение Нужно как то по этой библиотеке прогнать... ...


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

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
Новые блоги и статьи
Генератор паролей (вариант №3)
Maks 30.10.2026
Финальная версия генератора паролей 1С. Доработка решения в этот раз коснулась только визуальной части, а именно, добавлен реквизит ДопПараметры (тип Булево), который скрывает/ отображает реквизиты:. . .
Магическое мышление и магия, современная наука не отличима от магии (говорит ИИ Джемени)
zorxor 30.10.2026
Джемени, расскажи, пожалуйста, что такое магическое мышление, что такое магия, почему современная наука чем-то напоминает магию? Фраза «Любая достаточно развитая технология неотличима от магии». . .
За какое время ИИ может подобрать пароль по хешу (рассказывает Джемени ИИ)
zorxor 30.10.2026
Расскажи, Джемени, если известен хэш МД5, например, за сколько ИИ сможет подобрать соответствующий пароль? Искусственный интеллект (ИИ) может подобрать простой или средний по сложности пароль по. . .
Кто убил Suno? Почему наше солнышко погасло? (диалог с ИИ Джемени)
zorxor 30.10.2026
Как убивали Suno. Хронология. «Убийство» музыкальной нейросети Suno — это затяжной процесс, в котором технологический хайп стартапа разбился о жесткую реальность судебных исков от гигантов. . .
Генератор паролей (вариант №2)
Maks 30.10.2026
Обновленная версия ранее созданной обработки. Добавлены следующие реквизиты типа Булево: - Буквы; - Цифры; - Символы. Изменена логика команды "Сгенерировать" и процедуры "ПриОткрытии":. . .
Генератор паролей (вариант №1)
Maks 29.10.2026
Реализация из решения ниже выполнена исключительно по моей инициативе, дабы облегчить себе работу в создании паролей для администрируемых мною сервисов и пользователей. Самым главным критерием для. . .
Установка ChatGPT (Codex) на Windows без использования Microsoft Store
Fabien159 28.10.2026
Здравствуйте всем читающим! Опишу процесс установки ChatGPT (Codex) на Windows, если по каким-то причинам у вас не получается устанавить его через Microsoft Store. И так: 1. Скачиваем с. . .
Программное добавление префикса в нумерацию документов
Maks 27.10.2026
Реализация из решения ниже выполнена в самописной конфигурации на БСП (помощь начинающему коллеге). Задача: Программно добавить префикс в нумерацию документов. Решение: В модуле объекта. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru