Народ хелп у меня следующая проблема. Мне нужно было написать кусок кода где шифруется файл методом DES в различных режимах: CBC, ECB, CFB, OFB. Так вот поковырявшись в MSDN нашел класс DES, так вот шифрование в режимах: CBC, ECB и CFB, проходит нормально. А вот в режиме OFB, вылетает следующие окно "Режим с обратной связью по выходу (OFB) не поддерживается этой реализацией.". В MSDN про это не чего не сказано. Может кто сталкивался с такой проблемой? Пишу это все на VS2005. Как я понял .Net использует CryptoAPI, мне остается только самому вызывать их и шаманить с ними? Или же можно ка-то обойти это не доработку. Пытался найти готовые библиотеки с реализацией DES, не чего не нашел. На Delphi есть, а вот на студию нет. Может у кого есть? Исходники кода думаю мало помогут но вдруг.
| Код | FileStream fStream = File.Open(txCreateFileLaba4.Text, FileMode.Create, FileAccess.Write, FileShare.None); FileStream fs = File.Open(txOpenFileLaba4.Text, FileMode.Open, FileAccess.Read, FileShare.None); BinaryReader fStream2 = new BinaryReader(fs);
DES DESalg = DES.Create();
//Выбор режима шифрования if (rdCBCLaba4.Checked) DESalg.Mode = CipherMode.CBC; else if (rdCFBLaba4.Checked) DESalg.Mode = CipherMode.CFB; else if (rdECBLaba4.Checked) DESalg.Mode = CipherMode.ECB; else if (rdOFBLaba4.Checked) DESalg.Mode = CipherMode.OFB;
CryptoStream cStream; //Привязка потока шифрования к методу cStream = new CryptoStream(fStream, //Вот тут та как раз и вылетает сообщение DESalg.CreateEncryptor(sKEY, sIV), CryptoStreamMode.Write);
//Шифрование данных BinaryWriter sWriter = new BinaryWriter(cStream); sWriter.Write(fStream2.ReadBytes((int)fs.Length)); sWriter.Close(); cStream.Close(); fStream.Close(); fStream2.Close(); fs.Close();
|
|