Code Monkey home page Code Monkey logo

vingercodeswing's Introduction

VingerCodeSwing

Изначально идеей было написать шифратор Виженера но потом решил добавлять разные шифры в один интерфейс. Скриншот программы

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

Для шифровки сообщения выберите тип шифра который вам нужен. Далее в поле для обычного текста напишите текст который требуется зашифровать. Потом в зависимости от шифра потребуется указать ключ или число или ничего, далее нажать кнопку «Зашифровать». В поле зашифрованного текста тут же появиться текст в уже зашифрованном виде.

Если текст требуется расшифровать то зашифрованный текст следует ввести в поле для зашифрованного текста. После этого если шифр предполагается ключ или цифру или ничего. Ввести его в соответствующие поле для ввода . Нажать кнопку расшифровать. И расшифрованный текст появиться в поле обычного текста.

Существует также возможность загрузки зашифрованного или простого текста из txt файла для этого потребуется открыть меню «Файл» - «Открыть» и там выбрать нужный пункт «Зашифрованный» или «Обычный» после чего откроется стандартное диалоговое окно выбора где следует указать нужный файл.

Так же существует возможность сохранить информацию сохранены будут сразу оба варианта. Для этого следует выбрать меню «Файл» - «Сохранить» откроется стандартное диалоговое окно где следует выбрать куда сохранить файл. Файл будет сохранен с расширением txt На данный момент программа версии 0,01 . Поддерживает 3 шифра

  1. Элемент списка Шифр Виженера - метод полиалфавитного шифрования буквенного текста с использованием ключевого слова. Шифр Виженера состоит из последовательности нескольких шифров Цезаря с различными значениями сдвига. Значение сдвига берется из буквы ключа, точнее ее позиции в алфавите.
  2. Шифр Цезаря - это вид шифра подстановки, в котором каждый символ в открытом тексте заменяется символом, находящимся на некотором постоянном числе позиций левее или правее него в алфавите. Например, в шифре со сдвигом вправо на 3, А была бы заменена на Г, Б станет Д, и так далее.
  3. Шифр A1Z26 - Из названия понятно, что каждой букве просто присваивается её порядковый номер в алфавите. (В русском языке существует две интерпритации сего шифра - А1Я33 и А1Я32. Во втором случае из алфавита выкидывается буква "ё"). В программе реализован А1Я33 Шифр тут работает не в совсем классическом варианте буквы разделяется не символом - , а сдвух сторон отмечаються символом & это позволяет добовлять в шифр цифры.
  4. Шифр Атбаш – Правило шифрования Атбаш состоит в замене n-й буквы алфавита буквой с номером m − n + 1, где m — число букв в алфавите. Пример для русского алфавита выглядит так: абвгдеёжзийклмнопрстуфхцчшщъыьэюя (исходный текст) яюэьыъщшчцхфутсрпонмлкйизжёедгвба (зашифрованный текст)
  5. Base64 — стандарт кодирования двоичных данных при помощи только 64 символов ASCII.
  6. Шифр Плейфера или квадрат Плейфера — ручная симметричная техника шифрования, в которой впервые использована замена биграмм. Изобретена в 1854 году Чарльзом Уитстоном, но названа именем Лорда Лайона Плейфера, который внедрил данный шифр в государственные службы Великобритании. Шифр предусматривает шифрование пар символов (биграмм) вместо одиночных символов, как в шифре подстановки и в более сложных системах шифрования Виженера. В программе реализованна русская версия шифра Плейфера. В инетернете существует большое колличество разных вариантов создания прямоугольника Плейфера, так как из 33 букв квадрата не сделаешь. Выбрал наиболее похожую на оригинал 32 буквенный вариант без буквы Ё. а б в г д е ж з и й к л м н о п р с т у ф х ц ч ш щ ъ ы ь э ю я
  7. Переводит строку в 16 код (HEX) и обратно
  8. Переодит строку в двоичный код (BIN) и обратно (UTF 16)
  9. \xxx (C string) это восьмеричная кодировка в кодировке Win 1251 выглядит как \xxx и (xxx)три числа. В интернете часто ищут строки типа (\335\362\356\362 \365\356\361\362 \355\345\350\347\342\345\361\362\345\355) что расшифровывается (Этот хост неизвестен)

jar файл для запуска можно взять тут

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.