Шифрование бинарные операции + Base64String с использованием ключа - C#

Узнай цену своей работы

Формулировка задачи:

Немного поэкспериментировал с шифрованием, в итоге собрал такой класс:
    class Encryption
    {
        // Переменная ключа со значением по умолчанию
        public string Key { get; set; } = "def_pass";
        public string Text { get; set; }
 
        public string NewText  => new string(Text
            .Select((c, i) => (char)(~c ^ Key[i % (Key.Length - 1)]))
            .ToArray());
 
        public string TextEncription => new string(Convert.ToBase64String
            (Encoding.UTF8.GetBytes(NewText)).Reverse().ToArray());
        public string TextDecryption => new string(
            Encoding.UTF8.GetString((Convert.FromBase64String
                (new string(Text.Reverse().ToArray()))))
            .Select((c, i) => (char)(~c ^ Key[i % (Key.Length - 1)]))
            .ToArray());       
    }
Можно шифровать/расшифровывать просто через NewText или через TextEncription/TextDecryption

Хотелось бы увидеть мнение.

    class KeyMaker
    {
        public string KeyVal1 { get; } = "absdefghigklmnopqrstuvwxyz";
        public string KeyVal2 { get; } = ".:;^%&*()";
        string KeyVal3 => KeyVal1.ToUpper();
 
        int KeyLength { get; } = 5;
        Random rnd = new Random();
        public string KeyGen => new string($"{KeyVal1}{KeyVal2}{KeyVal3}"
        .OrderBy(k => rnd.Next()).Take(KeyLength).ToArray());
    }

Решение задачи: «Шифрование бинарные операции + Base64String с использованием ключа»

textual
Листинг программы
        public string TextEncription(string text) =>
            new string(Convert.ToBase64String
            (Encoding.UTF8.GetBytes(new string(text
            ?.Select((c, i) => (char)(~c ^ Key[i % (Key.Length - 1)]))
            .ToArray()))).Reverse().ToArray());

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 4 из 5
Похожие ответы