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