[C#] Простейшее шифрование текста

Когда-нибудь и я вернусь.
Участник
Статус
Оффлайн
Регистрация
25 Сен 2016
Сообщения
442
Реакции[?]
131
Поинты[?]
0
Приветствую всех, кто решил зайти сюда и узнать что-то новое.
Недавно я придумал способ шифрования текста, сразу побежал его реализовывать.

Принцип действия программы прост:
Байт каждого знака(буквы, пробела) умножается на случайную формулу(которую можно написать самому), например, 5/2*100, что будет умножением на 250, но такая формула довольна проста, и гораздо безопаснее будут более комплексные формулы, где, например, результат умножения будет делиться или умножаться на ещё одну формулу.

Как я это реализовал:
C#:
using System;
int[] Crypt(string text) // На вход получаем текст
{
    string input = text; // Текст, который мы хотим зашифровать, можно убрать и использовать аргумент напрямую
    char[] chars = input.ToCharArray(); // Переводим строку в последовательность знаков
    byte[] bytes = new byte[chars.Length]; // Создаём массив байтов с размером последовательности знаков(опционально, можно убрать)
    int[] crypteds = new int[chars.Length]; // Создаём массив зашифрованных байтов с размером последовательности знаков

    for (int i = 0; i < chars.Length; i++) // В этом цикле будет шифроваться каждый знак(не выгодно при шифровании больших текстов
    {
        crypteds[i] = Convert.ToByte(chars[i]) * (5 / 2 * 100); // Шифруем знак с помощью умножения байта знака на формулу, результат шифрования помещаем в массив(в формуле умножается на 100 потому, что иначе байт будет десятичной дробью, а не целым числом)
        bytes[i] = Convert.ToByte(chars[i]); // Помещаем байт знака в массив
        Console.WriteLine("" + chars[i] + " : " + bytes[i] + " : " + crypteds[i]); // Выводим знак, его байт и зашифрованный знак
    }
    return crypteds; // Возвращаем массив зашифрованных знаков
}
Разумеется, у данного метода шифрования есть недостатки, например, возможность подбора формулы, хотя если её усложнить, то всё становится безопаснее в разы.

Способ расшифровки придумайте сами(подсказка: это связано с математикой), те, у кого не получается, пишите в лс, помогу.

Спасибо за внимание!​
 
Сверху Снизу