Шифрование бинарные операции + Base64String с использованием ключа - C#
Формулировка задачи:
Немного поэкспериментировал с шифрованием, в итоге собрал такой класс:
Можно шифровать/расшифровывать просто через NewText или через TextEncription/TextDecryption
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()); }
Хотелось бы увидеть мнение.
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());
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д