0 / 0 / 0
Регистрация: 18.06.2019
Сообщений: 12
1

Расшифровщик из AES Rijndael 256

05.12.2020, 21:44. Показов 4490. Ответов 1

Author24 — интернет-сервис помощи студентам
Есть код отвечающий за расшифровку значений из БД:

Кликните здесь для просмотра всего текста

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
using System;
using System.IO;
using System.Security.Cryptography;
using System.Text;
 
namespace Wpf1._0
{
  public class Cryptography
  {
    public const string key = "lkirwf897+22#bbtrm8814z5qq=498j5";
    public const string iv = "741952hheeyy66#cs!9hjv887mxx7@8y";
 
    public static string DecryptRJ256(string prm_key, string prm_iv, string prm_text_to_decrypt)
    {
      string s = prm_text_to_decrypt;
      RijndaelManaged rijndaelManaged = new RijndaelManaged();
      rijndaelManaged.Padding = PaddingMode.Zeros;
      rijndaelManaged.Mode = CipherMode.CBC;
      rijndaelManaged.KeySize = 256;
      rijndaelManaged.BlockSize = 256;
      ICryptoTransform decryptor = rijndaelManaged.CreateDecryptor(Encoding.ASCII.GetBytes(prm_key), Encoding.ASCII.GetBytes(prm_iv));
      byte[] buffer = Convert.FromBase64String(s);
      byte[] numArray = new byte[buffer.Length];
      new CryptoStream((Stream) new MemoryStream(buffer), decryptor, CryptoStreamMode.Read).Read(numArray, 0, numArray.Length);
      return Encoding.UTF8.GetString(numArray);
    }
 
    public static string EncryptRJ256(string prm_key, string prm_iv, string prm_text_to_encrypt)
    {
      string s = prm_text_to_encrypt;
      RijndaelManaged rijndaelManaged = new RijndaelManaged();
      rijndaelManaged.Padding = PaddingMode.Zeros;
      rijndaelManaged.Mode = CipherMode.CBC;
      rijndaelManaged.KeySize = 256;
      rijndaelManaged.BlockSize = 256;
      ICryptoTransform encryptor = rijndaelManaged.CreateEncryptor(Encoding.ASCII.GetBytes(prm_key), Encoding.ASCII.GetBytes(prm_iv));
      MemoryStream memoryStream = new MemoryStream();
      CryptoStream cryptoStream = new CryptoStream((Stream) memoryStream, encryptor, CryptoStreamMode.Write);
      byte[] bytes = Encoding.UTF8.GetBytes(s);
      cryptoStream.Write(bytes, 0, bytes.Length);
      cryptoStream.FlushFinalBlock();
      return Convert.ToBase64String(memoryStream.ToArray());
    }
 
    internal static void EncryptRJ256(string messageName) => throw new NotImplementedException();
  }
}


И значения из БД:

Кликните здесь для просмотра всего текста

UiehEuCVOWC3TXGC/NhQZ5nC9AKQ96XLd6Tv4e79MKk=
G99nfuBOyxEX2MTKOVQrReh75/DD5Ubo7ENbYtzKZyQ=
yMKdxaR2luV79XUqJl61SygTjmiEzCIPneq4i5q1L5M=
K1ZKElE2JGexZ/TrPlMNiRcFPErbo7BKtcvVLC5xhyg=


Помогите пожалуйста с функцией, которая будет выводить расшифрованные значения куда-нибудь, чтобы их можно было посмотреть в онлайн компиляторе. Я просто совсем не разбираюсь в синтаксисе C#
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.12.2020, 21:44
Ответы с готовыми решениями:

Шифрование AES 256
Доброго времени суток, помогите реализовать шифрование сам код шифрование public static...

AES 256 CBC Decode
Добрый день. Подскажите пожалуйста, каким образом можно дешифровать запрос, зная, что тип...

Шифрование AES-256 GCM
Как на C# можно сделать шифрование AES-256 GCM, без библиотек, хоть что можете предложить WinAPI и...

AES-256 Реально ли шифрование 2 или 3 ключами?
Реально ли построить шифрование данных из 3-ёх или 2-ух ключей?

1
1842 / 1184 / 501
Регистрация: 14.10.2018
Сообщений: 3,180
06.12.2020, 09:52 2
Лучший ответ Сообщение было отмечено ncpa как решение

Решение

ncpa, в самом начале дописываем
C#
1
using Wpf1._0;
В самом конце дописываем
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
class Program
{
    static void Main()
    {
        string[] arr =
        {
            "UiehEuCVOWC3TXGC/NhQZ5nC9AKQ96XLd6Tv4e79MKk=",
            "G99nfuBOyxEX2MTKOVQrReh75/DD5Ubo7ENbYtzKZyQ=",
            "yMKdxaR2luV79XUqJl61SygTjmiEzCIPneq4i5q1L5M=",
            "K1ZKElE2JGexZ/TrPlMNiRcFPErbo7BKtcvVLC5xhyg="
        };
 
        for (int i = 0; i < arr.Length; i++)
        {
            arr[i] = Cryptography.DecryptRJ256(Cryptography.key, Cryptography.iv, arr[i]);
            Console.WriteLine(arr[i]);
        }
    }
}
Как итог
Код
призначення
транзиту
гарант?ї
в?дправлення
Делаю ставку на то, что данные из БД получены не в той кодировке, в которой записывались.
Можно конечно поиграться с конвертерами, но процесс ожидания будет длительным
1
06.12.2020, 09:52
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
06.12.2020, 09:52
Помогаю со студенческими работами здесь

Нужен полный код алгоритма шифрования AES 256
Собсна, сабж. Знаю, что оно делается в несколько строк, но именно это мне и не надо. Надо БЕЗ...

Алгоритм Rijndael (AES)
Всем привет) Не подскажете, как зашифровать двоичную последовательность (например 00100000, ключ:...

Base64 AES Rijndael
Добрый день, помогите пожалуйста с решением моей проблемы! я шифрую текст шифром AES Rijndael и...

Шифрование C# и Java (Rijndael/AES)
Доброго времени суток. проблема в следующем. есть код public static byte Encrypt(byte data,...

Дешифрование AES(Rijndael) строки ключем
Нужен код, который сможет расшифровать строку с помощью ключа. &lt;?php $Pass = &quot;1234&quot;; $Clear...

Rijndael 128 bit (AES) шифровка в delphi
Есть у кого полезный материал не эту тему? Буду благодарен в помощи.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru