У меня есть следующий код в 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? ... откуда он получает остальные недостающие байты?