Загрузка...

Как расшифровать байты и вывести в строку?

Тема в разделе C# создана пользователем Arsen_Cherep 24 ноя 2022. 234 просмотра

Загрузка...
  1. Arsen_Cherep
    Arsen_Cherep Автор темы 24 ноя 2022 Заблокирован(а) 3 24 ноя 2022
    есть расшифровка - [IMG]
    есть зашифрованные байты -
    [IMG]

    Как в отдельном проекте сделать расшифровку и вывод расшифрованное строки в консоль? И как самому зашифровать что-нибудь так же?
     
  2. r3xq1
    ))))
    Всё-таки не осилил)
    --- Сообщение объединено с предыдущим 24 ноя 2022
    Тут всё просто, смотри и делай так, тебе не нужно расшифровывать SaltBytes и CryptKey там уже всё и так расшифровано в комментариях на сколько это возможно хD ) Главный класс не трогаешь, тебе нужно использовать только метод для расшифровки байтов.
    C#
    namespace ShkoloKittyDecodeStr
    {
    using System.Security.Cryptography;
    using System.Text;

    public static class DecodeStr
    {
    static readonly byte[] saltBytes = new byte[] { 255, 64, 191, 111, 23, 3, 113, 119, 231, 121, 252, 112, 79, 32, 114, 156 };
    static readonly byte[] cryptKey = new byte[] { 104, 116, 116, 112, 115, 58, 47, 47, 103, 105, 116, 104, 117, 98, 46, 99, 111, 109, 47, 76, 105, 109, 101, 114, 66, 111, 121, 47, 83, 116, 111, 114, 109, 75, 105, 116, 116, 121 };

    public static string Decrypt(byte[] bytesToBeDecrypted)
    {
    using Rfc2898DeriveBytes key = new(cryptKey, saltBytes, 1000);

    byte[]? decryptedBytes = null;
    using (MemoryStream ms = new())
    {
    using Aes AES = Aes.Create();
    AES.Key = key.GetBytes(AES.KeySize / 8);
    AES.IV = key.GetBytes(AES.BlockSize / 8);
    using (CryptoStream cs = new(ms, AES.CreateDecryptor(), CryptoStreamMode.Write))
    {
    cs.Write(bytesToBeDecrypted, 0, bytesToBeDecrypted.Length);
    }
    decryptedBytes = ms.ToArray();
    }
    return Encoding.UTF8.GetString(decryptedBytes);
    }
    }
    }
    Затем просто используешь так:
    C#
    namespace ShkoloKittyDecodeStr
    {
    public static class Program
    {
    public static void Main()
    {
    Console.WriteLine("Hello, World!");
    // Пример расшифровки байтов в строку
    string result = DecodeStr.Decrypt(new byte[] { 204, 119, 158, 154, 23, 66, 149, 141, 183, 108, 94, 12, 88, 31, 176, 188, 18, 22, 179, 36, 224, 199, 140, 191, 17, 128, 191, 221, 16, 110, 63, 145, 150, 152, 246, 105, 199, 84, 221, 181, 90, 40, 214, 128, 166, 54, 252, 46, });
    // Вывод
    Console.WriteLine(result);
    File.WriteAllText("Result.txt", result);
    Console.Read();
    }
    }
    }
    Результат:
    Код
    https://discordapp.com/api/v6/users/@me
     
Top