Бинарные Данные Из Файла R5

  • Автор темы Автор темы motogarri
  • Дата начала Дата начала
capicom это интерфейс для разных методов ширования, но т.к. большинство стандартны - зачем он в ваше задаче?
если шифруем 3des или чем-то подобным - все это уже есть в java

Добавлено: ну вот ещё такое есть
 
Если byte[] buffer больше мегабайта - ошибка StackOverflowError
Это String ограничен мегабайтом?
надо учитывать тот факт, что jvm имеет заранее заданный объем памяти (notes.ini)
если передача параметра сущ через стэк (а оно так и будет) - то и получим переполнение
выход - поставить значение в notes.ini соответ. максимальному размеру файла


Добавлено: ещё можно почитать про "другой" вариант
 
А в шестерке нельзя подключить серез COM дллку?

import com.ms.activeX.ActiveXComponent;
ActiveXComponent utils = new ActiveXComponent("CAPICOM.Utilities");

Говорит что Package com.ms.activeX.ActiveXComponent not found in import
 
Разобрался наконец. Оказывается в лотусный Стрим можно кусками байты писать. Сразу не пришло в голову((((

В capicome есть такой класс CAPICOM.Utilities который содержит методы ByteArrayToBinaryString и BinaryStringToByteArray. В итоге получается у меня такой порядок:

1. Получаю массив из файла и преобразовываю его в строку
Код:
	While Not stream.IsEOS
buffer = stream.Read(32000)
binData = binData + util.ByteArrayToBinaryString(buffer)
Wend

2. Строку шифрую, отправляю адресату

3. На той стороне расшифровываю

4. Расшифрованную строку записываю в файл
Код:
	blocSize = 16000
data = envelopedData.Content
position = 1
bloc = "1"

While bloc <> ""
bloc = Mid(data, position, blocSize)
If bloc <> "" Then
Call stream2.Write(util.BinaryStringToByteArray(bloc))
position = position + blocSize
End If
Wend

Call stream2.Close()


Спасибо всем за помощь.
 
если вопрос просто в шифровании - выкинуть COM нафик
ну зачем он вам - никак не пойму

 
Дело не только в шифровании. Вся криптографися на внешнем криптопровайдере. А COM из-за простоты и скорости разработки. В сроках на разработку обычно не учитывается время на обучение((
Единственный затык был с этими преобразованиями из массива в строку и обратно и он решен. Остальное все просто и быстро реализуемо.
 
вот простой пример
и никаких фокусов с памятью

Добавлено:
Вся криптографися на внешнем криптопровайдере
чем это продиктовано
 
чем это продиктовано
Техзаданием)))
Пример интересный. Когда со временем, столкнусь с какими-нибудь еще ограничениями, мне эти ссылки пригодятся.
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!