Вычисление хэш-суммы по алгоритму ГОСТ Р 34.11-94
Вычисление хэш-суммы по алгоритму SHA-512
Вычисление хэш-суммы по алгоритму MD5
Вычисление хэш-сумм MD, SHA при помощи CAPICOM
Так как алгоритм отечественного производства, необходимо установить программные продукты КриптоПро CSP и КриптоПро CADESCOM. После установки программных продуктов КриптоПро будет доступен COM-объект HasheData с ProgID - CAdESCOM.HashedData. Этот объект предоставляет свойства и методы для вычисления хэш-суммы данных.
Результат работу функции:
Обработку можно скачать по этой ссылке.
Главный минус данной реализации, это приобретение продуктов компании КриптоПро.
Вычисление хэш-суммы по алгоритму MD5
Вычисление хэш-сумм MD, SHA при помощи CAPICOM
Реализации вычисления хэш-суммы по алгоритму ГОСТ 34.11-94.
Что требуется
Так как алгоритм отечественного производства, необходимо установить программные продукты КриптоПро CSP и КриптоПро CADESCOM. После установки программных продуктов КриптоПро будет доступен COM-объект HasheData с ProgID - CAdESCOM.HashedData. Этот объект предоставляет свойства и методы для вычисления хэш-суммы данных.
Реализация
Объект HashedData имеет метод Hash, в который передаются данные для вычисления хэш-суммы. Свойство Value содержит результат вычисления. Напишем функцию, которая принимает строку и возвращает хэш-сумму. Незабываем, что строки в разных кодировках имеют различные хэш-суммы, поэтому строку следует привести к кодировке UTF-8.
// Функция вычисляет хэш-сумму по алгоритму ГОСТ 34.11-94
//
// Параметры
// Строка - Строка - исходная строка .
//
// Возвращаемое значение:
// Строка - хэш-сумма в виде 64-х символьной строке в шестнадцатеричном формате.
//
Функция ВычислитьХэшСуммуПоГОСТ_3411(Строка) Экспорт
CADESCOM_HASH_ALGORITHM_CP_GOST_3411 = 100;
HashedData = Новый COMОбъект("CAdESCOM.HashedData");
// Указываем алгоритм хэширования.
HashedData.Algorithm = CADESCOM_HASH_ALGORITHM_CP_GOST_3411;
// Передаем данные, строку кодируем в последовательность байтов UTF-8.
UTF8Encoding = Новый COMОбъект("System.Text.UTF8Encoding");
HashedData.Hash(UTF8Encoding.GetBytes_4(Строка));
// Возвращаем вычисленную хэш-сумму.
Возврат HashedData.Value;
КонецФункции // ВычислитьХэшСуммуПоГОСТ_3411()
Результат работу функции:
Обработка вычисления хэш-суммы ГОСТ 34.11-94 |
Главный минус данной реализации, это приобретение продуктов компании КриптоПро.
Здравствуйте. Подскажите, пожалуйста в сем может быть проблема
ОтветитьУдалитьустановил КриптоПро CADESCOM (версия 2.0.2012) при попытке выполнения получаю ошибку
Произошла исключительная ситуация (CAdESCOM.HashedData.1): Указан неправильный алгоритм.
Возможно для вашей версии CAdESCOM константа CADESCOM_HASH_ALGORITHM_CP_GOST_3411 имеет другое значение. Уточните значение данной константы. Так же обязательно должен быть установлен КриптоПро CSP.
УдалитьСпасибо тебе милый человек! А то я уже седеть стал с реализацией ЭЦП на 1С...
ОтветитьУдалитьСпасибо!
ОтветитьУдалить