Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
0 / 0 / 0
Регистрация: 14.05.2018
Сообщений: 214

Шифр Полибия

24.12.2020, 22:24. Показов 883. Ответов 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
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
using System;
using System.Collections.Generic;
using System.Runtime.Serialization;
using System.Text;
 
namespace Polybius
{
    [DataContract]
    public class Polyb
    {
        [DataMember]
        private char[,] PolybiusSquare = {
                {'а','б','в','г','ґ','д' },
                { 'е','є','ж','з','и','i'},
                { 'ї','й','к','л','м','н'},
                { 'о','п','р','с','т','у'},
                { 'ф','х','ц','ч','ш','щ'},
                { 'ь','ю','я', '.', ',', ' '}};
        public void ShowPolybiousSquare()
        {
            for (int i = 0; i < PolybiusSquare.GetLength(0); i++)
            {
                for (int j = 0; j < PolybiusSquare.GetLength(1); j++)
                {
                    Console.Write(PolybiusSquare[i, j] + "\t");
                }
                Console.WriteLine();
            }
        }
        public string[] EncriptionPolybious(string phrase)
        {
            List<string> encriptedPhrase = new List<string>();
            for (int q = 0; q < phrase.Length; q++)
            {
                for (int i = 0; i < PolybiusSquare.GetLength(0); i++)
                {
                    for (int j = 0; j < PolybiusSquare.GetLength(1); j++)
                    {
                        if (char.ToLower(phrase[q]) == PolybiusSquare[i, j])
                        {
                            encriptedPhrase.Add(Convert.ToString(((i + 1) * 10 + (j + 1)), 16));
                        }
                    }
                }
            }
            return encriptedPhrase.ToArray();
        }
        public string DecriptionPolybious(string[] encriptedPhrase)
        {
            string decriptedPhrase = "";
            int[] decCode = HexToDec(encriptedPhrase);
            for (int i = 0; i < decCode.Length; i++)
            {
                decriptedPhrase += PolybiusSquare[(decCode[i] / 10) - 1, (decCode[i] % 10) - 1];
            }
            return decriptedPhrase;
        }
 
        static int[] HexToDec(string[] arr)
        {
            List<int> nums = new List<int>();
            foreach (string el in arr)
            {
                nums.Add(Convert.ToInt32(el, 16));
            }
            return nums.ToArray();
        }
    }
    
}
Очень срочно помогите прошу!
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
24.12.2020, 22:24
Ответы с готовыми решениями:

Шифр Полибия. Программа выводит шифр в разной последовательности.
Реализую шифр полибия для русского алфавита. Возникла проблема при выводе шифра. Например при вводе исходного сообщения &quot;ВОВА&quot;...

Метод Полибия
Доброе утро друзья. Помогите пожалуйста... очень скоро у меня зачет задача была такова по методу Полибия: 1 шаг: ввод слов на...

Шифрация и дешифрация по квадрату Полибия
Реализовать шифрование и дешифрацию по Квадрату Полибия. Для выполнения используем русский алфавит. Как реализовать дешифрацию? Вот код...

4
 Аватар для JustinTime
964 / 582 / 268
Регистрация: 20.12.2016
Сообщений: 1,506
24.12.2020, 22:28
Здесь есть алгоритм с описанием Шифр Полибия
0
0 / 0 / 0
Регистрация: 14.05.2018
Сообщений: 214
24.12.2020, 22:52  [ТС]
uzhsoft, а могли бы, пожалуйста, обьяснить, в том коде который выше как и каким методом сделано?
Буду признателен)
0
 Аватар для JustinTime
964 / 582 / 268
Регистрация: 20.12.2016
Сообщений: 1,506
24.12.2020, 23:08
Taras99, это трудно описать в нескольких предложениях... выполните код пошагово F11, так будете видеть переходы и значения переменных
0
0 / 0 / 0
Регистрация: 14.05.2018
Сообщений: 214
25.12.2020, 02:07  [ТС]
uzhsoft, может попробуете просто коментариями к коду?))
Буду очень благодарен)

Добавлено через 1 час 13 минут
Хочу понять те циклы в функциях, чтобы понять как оно переберает элементи при розшифровке и зашифровке(по колу выше)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
25.12.2020, 02:07
Помогаю со студенческими работами здесь

С# МЕТОД ПОЛИБИЯ шифрование и дишифрование \ ввод слова в консоли
Доброе время суток, форумчане! Помогите пожалуйста! Выручайте! На С# раньше не приходилось работать, поэтому я новичок! Как преобразить...

Заполнить прямоугольник Полибия, в котором нужно отобразить все буквы русского алфавита от а до я и от А до Я
Доброе время суток, форумчане! Помогите решить проблему! Дело жизни и смерти! Раньше с С# не приходилось иметь дело! Поэтому не имею...

Шифр Полибия
Здравствуйте, есть задание - написать программу, реализующую алгоритм шифрования(шифр Полибия ), при этом произвести некоторую модификацию...

Шифр Полибия
может кто нибудь и сможет помочь, нужно реализовать шифр Полибия на любом языке, С++ или C#, м?

Расшифровка Полибия
Помогите пожалуйста с расшифровкой Полибия, вот шифровка: char alphavit = { {'А', 'Б', 'В',...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru