Ключевое слово в защите информации
КЛЮЧЕВОЕ СЛОВО
в защите информации
Получить ГОСТ TLS-сертификат для домена (SSL-сертификат)
Добро пожаловать, Гость! Чтобы использовать все возможности Вход или Регистрация.

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline michael178  
#1 Оставлено : 19 июля 2019 г. 16:27:59(UTC)
michael178

Статус: Новичок

Группы: Участники
Зарегистрирован: 19.07.2019(UTC)
Сообщений: 1

Сказал(а) «Спасибо»: 1 раз
Здравствуйте.

Сделал файл с текстом "abc" внутри, пробую считать его хэш по алгоритму GOST3411_2012_256.
Утилиты rhash и cpverify выдают одинаковый хэш
Код:

c:\Temp>cpverify -mk -alg GR3411_2012_256 ttt44.txt
4E2919CF137ED41EC4FB6270C61826CC4FFFB660341E0AF3688CD0626D23B481


Код:
C:\Users\micha\Downloads\rhash-1.3.8-win64 (1)\RHash-1.3.8-win64>rhash --gost12-256 c:\temp\ttt44.txt
4e2919cf137ed41ec4fb6270c61826cc4fffb660341e0af3688cd0626d23b481  c:\temp\ttt44.txt


А вот при расчете через CADesCOM.CPHashedData вот такой функцией:

Код:
public string GetHashGOST3411(string data)
        {

            CPHashedData oHashedData = new CPHashedData();
            oHashedData.Algorithm = (CAPICOM_HASH_ALGORITHM)CADESCOM_HASH_ALGORITHM.CADESCOM_HASH_ALGORITHM_CP_GOST_3411_2012_256;
            oHashedData.DataEncoding = CADESCOM_CONTENT_ENCODING_TYPE.CADESCOM_STRING_TO_UCS2LE;

            oHashedData.Hash(data);

            return oHashedData.Value;
        }


Код:
string fData = File.ReadAllText(@"c:\temp\ttt44.txt");
            Console.WriteLine(GetHashGOST3411(fData));



, получаю совсем другое значение:

Код:
b28d48d33f6715c3dc4e9c2b574d26d07fd172faf00361c29c3b9083546909e0


Причем пробовал и MD5 , SHA1 алгоритмы, все равно все , что выдает CADesCOM отличается.
Не понимаю причину, помогите пожалуйста.
Offline Андрей Писарев  
#2 Оставлено : 19 июля 2019 г. 16:53:35(UTC)
Андрей *

Статус: Сотрудник

Группы: Участники
Зарегистрирован: 26.07.2011(UTC)
Сообщений: 12,629
Мужчина
Российская Федерация

Сказал «Спасибо»: 493 раз
Поблагодарили: 2034 раз в 1578 постах
Здравствуйте.

1) Прочитайте как бинарные данные, а не строку.
2) Кодируйте их в base64 и указывайте соответствующий DataEncoding

Вычисление хэш-значения бинарных данных
Техническую поддержку оказываем тут
Наша база знаний
thanks 1 пользователь поблагодарил Андрей * за этот пост.
michael178 оставлено 19.07.2019(UTC)
Offline Андрей Писарев  
#3 Оставлено : 19 июля 2019 г. 16:58:30(UTC)
Андрей *

Статус: Сотрудник

Группы: Участники
Зарегистрирован: 26.07.2011(UTC)
Сообщений: 12,629
Мужчина
Российская Федерация

Сказал «Спасибо»: 493 раз
Поблагодарили: 2034 раз в 1578 постах
Еще есть примеры: SDK\Hash\cs\HashSingle.cs
Техническую поддержку оказываем тут
Наша база знаний
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.