Шифр блочной перестановки java

Престановочный шифр

Здравствуйте.
Очень нужна помощь по коду.
Мне нужно сделать программку, которая будет шифровать текст перестановочным шифром.
Вот, например, окно программы.
При вводе в первое поле текста, а во второе — ключа и нажатии на кнопку shifr, в третьем поле должно появиться зашифрованное сообщение. (ну с этим понятно)
Смысл шифра заключается в следующем.
Есть ключ, состоящий из 23 символов.
1, 7, 13, 19, 2, 8, 14, 20, 3, 9, 15, 21, 4, 10, 16, 22, 5, 11, 17, 23, 6, 12, 18
Т.е. цыфры идут как бы группа по 4 числа, к первому прибавляется 6.
Т.е. 1+6=7, 7+6=13, 13+6=19 (последовательность какончилась)
дальше 2+6=8, 8+6=14, 14+6=20
и так далее. Отсюда и получается ключ
Т.е. например фраза «это шифр древней спарты», будет зашифровано как «эфвптрнао ер дйтшр ыиес»
1 7 13 19

Можете подсказать, как такую чтуку уже на java сделать, хотябы примерно!
Заранее благодарен!

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
package zxc; import javax.swing.*; public class window extends JFrame { public window(){ super("name"); JPanel content = new JPanel(); content.setLayout(null); JLabel first = new JLabel("text"); first.setBounds(10,40,95,21); JLabel second = new JLabel("key"); second.setBounds(10,125,95,21); JLabel third = new JLabel("completed"); third.setBounds(10,210,95,21); final JTextArea f = new JTextArea(); f.setBounds(10,65,120,21); f.setSize(250,50); final JTextArea s = new JTextArea(); s.setBounds(10,150,120,21); s.setSize(250,50); final JTextArea t = new JTextArea(); t.setBounds(10,235,120,21); t.setSize(250,50); JButton one = new JButton("shifr"); one.setBounds(100,125,75,21); one.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { button1actionActionPerformed(evt); } private void button1actionActionPerformed(java.awt.event.ActionEvent evt) { char[] key = s.getText().toLowerCase().toCharArray(); char[] text = f.getText().toLowerCase().toCharArray(); if (key.length >= text.length){ t.setText(new String(text)); } else JOptionPane.showMessageDialog(null, "Длинна текста не может быть длинее ключа!"); }}); JButton two = new JButton("deshifr"); two.setBounds(170,125,75,21); content.add(first); content.add(second); content.add(third); content.add(f); content.add(s); content.add(t); content.add(one); content.add(two); setSize(270,300); setDefaultCloseOperation(EXIT_ON_CLOSE); setContentPane(content); } public static void main(String[] args) { window set = new window(); set.setVisible(true); } }

Источник

Читайте также:  Css center img in smaller div

Престановочный шифр — Java

Здравствуйте. Очень нужна помощь по коду. Мне нужно сделать программку, которая будет шифровать текст перестановочным шифром. Вот, например, окно программы. При вводе в первое поле текста, а во второе — ключа и нажатии на кнопку shifr, в третьем поле должно появиться зашифрованное сообщение. (ну с этим понятно) Смысл шифра заключается в следующем. Есть ключ, состоящий из 23 символов. 1, 7, 13, 19, 2, 8, 14, 20, 3, 9, 15, 21, 4, 10, 16, 22, 5, 11, 17, 23, 6, 12, 18 Т.е. цыфры идут как бы группа по 4 числа, к первому прибавляется 6. Т.е. 1+6=

(последовательность какончилась) дальше 2+6=

и так далее. Отсюда и получается ключ Т.е. например фраза «это шифр древней спарты», будет зашифровано как «эфвптрнао ер дйтшр ыиес» 1 7 13 19 Можете подсказать, как такую чтуку уже на java сделать, хотябы примерно! Заранее благодарен!

package zxc; import javax.swing.*; public class window extends JFrame < public window()< super("name"); JPanel content = new JPanel(); content.setLayout(null); JLabel first = new JLabel("text"); first.setBounds(10,40,95,21); JLabel second = new JLabel("key"); second.setBounds(10,125,95,21); JLabel third = new JLabel("completed"); third.setBounds(10,210,95,21); final JTextArea f = new JTextArea(); f.setBounds(10,65,120,21); f.setSize(250,50); final JTextArea s = new JTextArea(); s.setBounds(10,150,120,21); s.setSize(250,50); final JTextArea t = new JTextArea(); t.setBounds(10,235,120,21); t.setSize(250,50); JButton one = new JButton("shifr"); one.setBounds(100,125,75,21); one.addActionListener(new java.awt.event.ActionListener() < public void actionPerformed(java.awt.event.ActionEvent evt) < button1actionActionPerformed(evt); >private void button1actionActionPerformed(java.awt.event.ActionEvent evt) < char[] key = s.getText().toLowerCase().toCharArray(); char[] text = f.getText().toLowerCase().toCharArray(); if (key.length >= text.length) < t.setText(new String(text)); >else JOptionPane.showMessageDialog(null, "Длинна текста не может быть длинее ключа!"); >>); JButton two = new JButton("deshifr"); two.setBounds(170,125,75,21); content.add(first); content.add(second); content.add(third); content.add(f); content.add(s); content.add(t); content.add(one); content.add(two); setSize(270,300); setDefaultCloseOperation(EXIT_ON_CLOSE); setContentPane(content); > public static void main(String[] args) < window set = new window(); set.setVisible(true); >>

Источник

Читайте также:  Php mysql web services

Шифр перестановки

Шифр перестановки Сцитала
Уважаемые форумчане! Нужно создать Шифр перестановки Сцитала, он же шифр Древней Спарты. Программа.

Шифр перестановки Скитала
Народ помогите создал интерфейс к данной программе, нужно что бы при нажатии на кнопку.

Шифр перестановки
Собственно сама задача во вложении. Шифр не горизонтальной а вертикальной (столбцы меняем). уже.

Шифр перестановки
Здравствуйте! Несколько дней уже сижу и никак не могу найти ошибку в блоке дешифрования текста.

Шифр перестановки
Привет, помогите пожалуйста с этой задачей: Написать код шифрующий сообщение написанное на.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
public void createkey(String key,int column) { keytemp=key.toCharArray(); // берем символ от нулевого до предпоследнего и.. for(int i=0;icolumn-1;i++) { // .. в цикле сравниваем его с каждым последующим до последнего for(int j=i+1;jcolumn;j++) { // если номер первого символа больше второго if(keytemp[i]>keytemp[j]) { // меняем их местами char temp=keytemp[i]; keytemp[i]=keytemp[j]; keytemp[j]=temp; } } } }

Шифр перестановки
Алфавит русский (33 буквы). Исходный текст разбит на блоки величины n = 8. Буквы внутри каждого.

Шифр перестановки
Помогите написать программу "Шифр перестановки" на С++. Нужно что бы текст вводился с клавиатуры и.

шифр перестановки
программа которая открывает файл и выполняет перестановку, перестановка начала в конец, конца в.

Шифр перестановки
Данная программа имея в переменной Т текст, шифрует его с помощью перестановки символов. А потом.

Шифр перестановки
Помогите осуществить шифратор и дешифратор

Источник

Шифрование методом простой перестановки (несколько способов записи)

Шифрование методом простой перестановки
Друзья, у кого-нибудь есть код или кто-нибудь может помочь с шифровкой методом простой.

Шифрование методом простой перестановки столбцов
Есть Шифр, который шифрует по строкам, нужно всего-лишь переделать, чтобы шифровал по столбцам. Как.

Реализовать шифрование и дешифрование методом Простой перестановки
Реализовать шифрование и дешифрование методом Простой перестановки (Строк-6,столбцов-7) Шифровать.

Шифрование методом простой перестановки без ключа
Всем доброй ночи! У меня получилось зашифровать фразы методом простой перестановки. Но мне нужно.

ЦитатаСообщение от 1s55 Посмотреть сообщение

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
public class Helper { private static String getEncryptedStr(String source) { StringBuilder charBox = new StringBuilder(); for (int i = 0; i  source.length() - 1; i += 2) { charBox.append(source.charAt(i + 1)); charBox.append(source.charAt(i)); } return charBox.toString(); } public static void main(String[] args) { String ss = "мама мыла раму"; // исходное сообщение System.out.println(getEncryptedStr(ss)); // зашифрованное System.out.println(getEncryptedStr(getEncryptedStr(ss))); // зашифрованное и расшифрованное = исходному } }
амамм лы аарум мама мыла раму

Шифрование методом перестановки
Пишу программу в VBA, которая должна шифровать методом перестановки, используя ключ. Вроде бы все.

Шифрование методом перестановки
Осуществить кодирование методом перестановки русскоязычного текста, соблюдая при этом следующие.

Шифрование методом перестановки
Здравствуйте уважаемые! Прошу помощи в написании программы. Пробывал писать сам, но чего то не.

Шифрование методом перестановки
Нужно очень сильно программа для шифрование и дешифрирование данных которая шифрует текст от 2000 -.

Источник

Шифр двойной перестановки

Есть исходный код программы «шифр одиночной перестановки по ключу», а мне нужно программа «шифр двойной перестановки».

Помогите идеями или вариантами программ

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
/* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package pelikan; /** * * @author Student */ public class Pelikan { /** * @param args the command line arguments */ public static void main(String[] args) { int verticle = 5; int horizontal = 7; String keyWord = "ПЕЛИКАН"; String word = "ТЕРМИНАТОРПРИБЫВАЕТСЕДЬМОГОВПОЛНОЧЬ"; StringBuilder instKey = new StringBuilder(keyWord); StringBuilder instSentance = new StringBuilder(word); //Массив для ключевого слова. char[] key = new char[instKey.length()]; //Массив для незашифрованого послания. char[][] table = new char[verticle][horizontal]; char[][] newTable = new char[horizontal][verticle]; for (int i = 0, ii = 0; i  horizontal; i++) { for (int j = 0; j  verticle; j++) { table[j][i] = instSentance.charAt(ii); ii++; } } for (int i = 0; i  instKey.length(); i++) { key[i] = instKey.charAt(i); } for (int i = 0; i  key.length; i++) { int min = (int) key[i]; int imin = i; for (int j = i + 1; j  key.length; j++) { if ((int) key[j]  min) { min = (int) key[j]; imin = j; } } if (i != imin) { int temp = (int) key[i]; key[i] = (char) key[imin]; key[imin] = (char) temp; } } for (int i = 0; i  key.length; i++) { System.out.print(key[i]); } System.out.println(); for (int j = 0; j  instKey.length(); j++) { for (int y = 0; y  instKey.length(); y++) { if ((int) key[j] == (int) instKey.charAtyes) { for (int i = 0; i  verticle; i++) { newTable[j][i] = table[i][y]; } } } } for (int i = 0; i  verticle; i++) { for (int j = 0; j  horizontal; j++) { System.out.print(newTable[j][i]); } System.out.println(); } System.out.println(); for (int i = 0; i  verticle; i++) { for (int j = 0; j  horizontal; j++) { System.out.print(newTable[j][i]); } } } }

Источник

Оцените статью