Статус: Новичок
Группы: Участники
Зарегистрирован: 24.08.2010(UTC) Сообщений: 3
|
Здраствуйте! Подскажите пожалуйста как сформировать набор данных совпадающий с возвращаемым следующим кодом
var hashedDataClass = new CPICom.HashedDataClass{Algorithm CPICom.CAPICOM_HASH_ALGORITHM.CAPICOM_HASH_ALGORITHM_GOST3411}; (код представлен партнерами без каких либо дополнительных объяснений)
срествами CryptoAPI?
Какой алгоритм из winCrypt.h или winCryptEx.h является аналогом используемого?
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 25.12.2007(UTC) Сообщений: 1,733 ![Мужчина Мужчина](/forum2/Themes/soclean/male.gif) Откуда: КРИПТО-ПРО Поблагодарили: 177 раз в 168 постах
|
Аналогом используемого является CALG_GR3411 из wincryptex.h |
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 24.08.2010(UTC) Сообщений: 3
|
Используя "CALG_GR3411 из wincryptex.h" и выполняя хэширование:
//создаем хеширующий объект CryptCreateHash(hCryptProv, CALG_GR3411, 0, 0, &hHash)
//выполняем хэширование CryptHashData(hHash, pbInputData, nInputDataSize, 0)
CryptGetHashParam(hHash, HP_HASHSIZE, pbHashData, &nHashDataSize, 0)
BYTE *pbHashData = NULL CryptGetHashParam(hHash, HP_HASHVAL, pbHashData, &nHashDataSize, 0)
//создаем массив для хранения хэша pbHashData = new byte[nHashDataSize]
//получаем хеш CryptGetHashParam(hHash, HP_HASHVAL, pbHashData, &nHashDataSize, 0)
получаем размер хэша 32 байта бинарных данных.
Выполняя хэширование средствами CPICom:
var hashedDataClass = new CPICom.HashedDataClass { Algorithm = CPICom.CAPICOM_HASH_ALGORITHM.CAPICOM_HASH_ALGORITHM_GOST3411 }; hashedDataClass.Hash(Encoding.GetEncoding(1251).GetString(fileBytes));
получаем строку хэша длиной 64 байта. Как средствами CryptoAPI получить хэш эквивалентный хэшу CPICom?
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 25.12.2007(UTC) Сообщений: 1,733 ![Мужчина Мужчина](/forum2/Themes/soclean/male.gif) Откуда: КРИПТО-ПРО Поблагодарили: 177 раз в 168 постах
|
Цитата:Как средствами CryptoAPI получить хэш эквивалентный хэшу CPICom? Преобразовать pbHashData к шестнадцатиричному виду, например с помощью CryptBinaryToString(.., CRYPT_STRING_HEX, ..) |
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 24.08.2010(UTC) Сообщений: 3
|
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 06.05.2014(UTC) Сообщений: 3 ![Российская Федерация Российская Федерация](/forum2/Content/images/flags/RU.png) Откуда: Москва
|
И тогда обратный вопрос: Как средствами CPICom получить хэш эквивалентный хэшу CryptoAPI?
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 25.12.2007(UTC) Сообщений: 1,733 ![Мужчина Мужчина](/forum2/Themes/soclean/male.gif) Откуда: КРИПТО-ПРО Поблагодарили: 177 раз в 168 постах
|
Цитата:var hashedDataClass = new CPICom.HashedDataClass { Algorithm = CPICom.CAPICOM_HASH_ALGORITHM.CAPICOM_HASH_ALGORITHM_GOST3411 }; hashedDataClass.Hash(Encoding.GetEncoding(1251).GetString(fileBytes)); Если нужно бинарное представление, то для полученной строки вызвать метод HexToBinary объекта Utilities. |
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close