c# DES PaddingMode.None - PullRequest
       60

c# DES PaddingMode.None

0 голосов
/ 21 апреля 2020

У меня есть следующий код в c# для шифрования дешифрования

Crypto.BlockSize = 64;
Crypto.FeedbackSize = 8;
Crypto.Mode = CipherMode.ECB;
Crypto.Padding = PaddingMode.None;
Encryptor = Crypto.CreateEncryptor(Encoding.ASCII.GetBytes("12345678"), Encoding.UTF8.GetBytes("12345678"));
Decryptor = Crypto.CreateDecryptor(Encoding.ASCII.GetBytes("12345678"), Encoding.UTF8.GetBytes("12345678"));

Я кодировал другой шифратор / расшифровщик на другом языке.

DES использует заполнение 8 байтов. Когда текст для шифрования составляет 8 байтов или мульт 8, оба работают точно.

Проблема в том, что размер равен 12. C# использует 12 байтов, так как он не требует какого-либо дополнения ... но в другой библиотеке я вынужден использовать в качестве входных данных мульт 8, поэтому я проверил, чтобы завершить со всеми 0x00 и 0xFF, но затем я получаю разные результаты в последних байтах.

Что делает c#, когда нет заполнения и мульт 8? ... откуда он получает остальные недостающие байты?

...