04.03.2003 18:49:29И снова CAPICOM (продожение мучений) ... Ответов: 0
Vladimir
Кратко напомню проблему.
(http://www.cryptopro.ru/CryptoPro/forum/myforum.asp?q=435)
При использовании типа кодирования как BINARY иногда, на некоторых массивах данных возникала ошибка.
Методом проб и ошибок я остановился на таком решении.
У объекта EnvelopedData выставляются следующие значения:
алгоритм - RC4
длина ключа - по умолчанию
encoding type - Base64
Шифрование проходит без проблем даже больших объемов данных. После чего предполагалось, используя класс CAPICOM.Utilites, воспользоваться функциями Base64Decode и BinaryStringToByteArray. Полученный массив сохранить как двоичный файл. Провел тесты - все работает. На части реальных файлов - тоже.
Но потом нашел интересную проблему.
В некоторых случаях, строка, полученная из объекта EnvelopedData и строка над которой провели операции Decode и Encode - не равны.
В строках, длиной 460020 байт отличаются всего 2 символа: 4 и 5 с конца.
Может мне кто-нибудь что-нибудь сказать по этому поводу?
Всем заранее большое спасибо.