Функция GcaHash GccaHash вычисляет хэш-функцию блока данных pData длиной dwDataLng. В Guardant GccAPI реализовано SHA256. Выбор алгоритма осуществляется параметром dwHash, который в настоящий момент равен GrdSH_SHA256. Все хэш-функции могут вычисляться от больших блоков данных, поэтому предусмотрена возможность разбиения данных на меньшие блоки и вычисления значения хэша последовательно для нескольких буферов. Для этого параметром dwMethod задается порядок блока GrdSC_XXX (первый, следующий, последний). Для передачи состояния алгоритма SHA256 используется специальный контекст pContext, память для которого должна быть зарезервирована и проинициализирована заранее. Функция GcaHash GccaHash самостоятельно разбивает буфер на блоки необходимой длины и выполняет все операции по согласованию. Если операция выполняется за один прием, то параметром dwMethod должен быть задан метод GrdSC_All. Результат вычислений помещается в буфер pDigest, память для которого размером, соответствующим конкретному алгоритму, должна быть зарезервирована заранее. Поддерживает только алгоритм типа SHA256 (GrdSH_SHA256 в параметре dwHash). |