Статус: Новичок
Группы: Участники
Зарегистрирован: 14.11.2018(UTC) Сообщений: 8
|
Здравствуйте,
подскажите, пожалуйста, в чем может быть причина. через утилиту cpverify получаю один хэш: cpverify.exe -mk -alg GR3411_2012_512 имя_файла
через интерфейс capicom+cadescom в 1с передаю этот же файл:
ДД = Новый ДвоичныеДанные(Файл); Строка = Base64Строка(ДД); обКрипто = Новый COMОбъект("CAdESCOM.HashedData"); обКрипто.Algorithm = 102;//"GR3411_2012_512"; обКрипто.Hash(Строка); ХЭШ = обКрипто.Value;
получаю другой хэш. Подскажите, почему? может я кодировку не учитываю при передаче файла?
Заранее благодарен всем откликнувшимся!
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 12,630 Сказал «Спасибо»: 495 раз Поблагодарили: 2035 раз в 1579 постах
|
Здравствуйте.
А порядок байт если перевернуть? |
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 14.11.2018(UTC) Сообщений: 8
|
Автор: Андрей Писарев Здравствуйте.
А порядок байт если перевернуть? извините, как это понять? в результате base64(двоичныеДанные) я получаю строку, закодированную по алгоритму base64. ее подаю в методы хэширования.
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 14.11.2018(UTC) Сообщений: 8
|
Автор: Андрей Писарев Здравствуйте.
А порядок байт если перевернуть? может мне как-то по-другому нужно представить файл в строке? и уже после передавать на вычисление хэша? подскажите, пожалуйста, не могу понять уже длительное время куда копать спасибо
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 12,630 Сказал «Спасибо»: 495 раз Поблагодарили: 2035 раз в 1579 постах
|
Необходимо установить DataEncoding = CADESCOM_BASE64_TO_BINARY перед хешированием. Посмотрите пример. |
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 12,630 Сказал «Спасибо»: 495 раз Поблагодарили: 2035 раз в 1579 постах
|
Автор: Sargez Автор: Андрей Писарев Здравствуйте.
А порядок байт если перевернуть? извините, как это понять? в результате base64(двоичныеДанные) я получаю строку, закодированную по алгоритму base64. ее подаю в методы хэширования. это не тот случай, но для информации: если запустить утилиту без параметров - есть справка Цитата: cpverify -mk filename|-stdin [-alg algid] [-inverted_halfbytes <inv>] Calculate hash value for the given filename using algid algorithm. algid may be GR3411, GR3411_2012_256 and GR3411_2012_512 If [-alg algid] is omitted, hash algid GR3411 is used [-inverted_halfbytes <inv>] specify whether halfbytes of calculated hashvalue must be reversed -stdin get data from standart input By default, inv is set to 1 for algid GR3411 and to 0 for GR3411_2012_256 and GR3411_2012_512
Например, для хеша от 123456 получается: 981989D3BF6008C397263289393E503A36261B56F5E79DFBC5F66C7A4E53DB0AC15CF5A488A6403889BF5284A890AB52A61CBEE3F22555289960500BA2737B1E
если добавить: inverted_halfbytes 1
то вот такое значение:
8991983DFB06803C7962239893E305A36362B1655F7ED9BF5C6FC6A7E435BDA01CC55F4A886A048398FB25488A09BA256AC1EB3E2F525582990605B02A37B7E1
|
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 14.11.2018(UTC) Сообщений: 8
|
Автор: Андрей Писарев Необходимо установить DataEncoding = CADESCOM_BASE64_TO_BINARY перед хешированием. Посмотрите пример. Спасибо Вам! +1
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close