From ccee862a0304ea48e431df6f3b4b4a7bf8f92e38 Mon Sep 17 00:00:00 2001 From: Vladislav Moiseev Date: Wed, 31 May 2023 08:48:50 +0400 Subject: [PATCH] =?UTF-8?q?=D0=94=D0=BE=D0=BF=D0=BE=D0=BB=D0=BD=D0=B5?= =?UTF-8?q?=D0=BD=D0=B0=20=D1=84=D1=83=D0=BD=D0=BA=D1=86=D0=B8=D1=8F=20cre?= =?UTF-8?q?ateHash=20=D0=B2=D1=8B=D0=B1=D0=BE=D1=80=D0=BE=D0=BC=20=D0=B0?= =?UTF-8?q?=D0=BB=D0=B3=D0=BE=D1=80=D0=B8=D1=82=D0=BC=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/createHash.ts | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/api/createHash.ts b/src/api/createHash.ts index d2a588d..093b0ea 100644 --- a/src/api/createHash.ts +++ b/src/api/createHash.ts @@ -3,15 +3,16 @@ import { _extractMeaningfulErrorMessage } from '../helpers/_extractMeaningfulErr import { __cadesAsyncToken__, __createCadesPluginObject__, _generateCadesFn } from '../helpers/_generateCadesFn'; /** - * Создает хеш сообщения по ГОСТ Р 34.11-2012 256 бит + * Создает хеш сообщения по ГОСТ Р 34.11-2012 (по умолчанию 256 бит) * https://ru.wikipedia.org/wiki/%D0%A1%D1%82%D1%80%D0%B8%D0%B1%D0%BE%D0%B3_(%D1%85%D0%B5%D1%88-%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D1%8F) * * @param unencryptedMessage - сообщение для хеширования + * @hashedAlgorithm - алгоритм хеширования. По умолчанию - CADESCOM_HASH_ALGORITHM_CP_GOST_3411_2012_256. * * @returns хеш */ export const createHash = _afterPluginsLoaded( - async (unencryptedMessage: string | ArrayBuffer): Promise => { + async (unencryptedMessage: string | ArrayBuffer, hashedAlgorithm?: number): Promise => { const { cadesplugin } = window; return eval( @@ -31,7 +32,9 @@ export const createHash = _afterPluginsLoaded( try { void ( __cadesAsyncToken__ + - cadesHashedData.propset_Algorithm(cadesplugin.CADESCOM_HASH_ALGORITHM_CP_GOST_3411_2012_256) + cadesHashedData.propset_Algorithm( + hashedAlgorithm ?? cadesplugin.CADESCOM_HASH_ALGORITHM_CP_GOST_3411_2012_256, + ) ); void (__cadesAsyncToken__ + cadesHashedData.propset_DataEncoding(cadesplugin.CADESCOM_BASE64_TO_BINARY)); void (__cadesAsyncToken__ + cadesHashedData.Hash(messageBase64));