Esempio n. 1
0
        /// <summary>
        /// Метод рассчета хэш
        /// </summary>
        /// <param name="data"></param>
        /// <param name="publicKeyAlg"></param>
        /// <param name="pluginHashAlg"></param>
        /// <returns></returns>
        private string ComputeHash(Stream data, string publicKeyAlg, ref int pluginHashAlg)
        {
            log.LogDebug($"Определяем алгоритм хэширования по значению алгоритма публичного ключа: {publicKeyAlg}.");
            // Определение алгоритма.
            var algId = GetHashAlg(publicKeyAlg);

            log.LogDebug("Определяем идентификатор алгоритма для использования в плагине КриптоПро.");
            // Определение идентификатора алгоритма для использование в плагине КриптоПро.
            var hashAlgForPlugin = SignServiceUtils.GetHashCodeForPlugin(algId);

            pluginHashAlg = hashAlgForPlugin;

            log.LogDebug("Вычисляем хэш.");
            // Вычисление хэш.
            var base64Hash = GetHashBySigAlgId(data, algId);

            return(base64Hash);
        }