int HashFinishSHA256(THash *Hash, int Encoding, char **HashStr) { int count, len; char *Tempstr=NULL; uint8_t *DigestBuff=NULL; DigestBuff=(uint8_t *) calloc(1,SHA2_SHA256_DIGEST_LENGTH+1); SHA2_SHA256_Final(DigestBuff, (SHA2_SHA256_CTX *) Hash->Ctx); free(Hash->Ctx); if (Encoding > 0) { *HashStr=EncodeBytes(*HashStr, DigestBuff, SHA2_SHA256_DIGEST_LENGTH, Encoding); len=StrLen(*HashStr); } else { len=SHA2_SHA256_DIGEST_LENGTH; *HashStr=SetStrLen(*HashStr,len); memcpy(*HashStr,DigestBuff,len); } DestroyString(DigestBuff); DestroyString(Tempstr); return(len); }
int HashFinishSHA256(HASH *Hash, char **HashStr) { int len; char *DigestBuff=NULL; DigestBuff=(char *) calloc(1,SHA2_SHA256_DIGEST_LENGTH+1); SHA2_SHA256_Final((unsigned char *) DigestBuff, (SHA2_SHA256_CTX *) Hash->Ctx); len=SHA2_SHA256_DIGEST_LENGTH; *HashStr=SetStrLen(*HashStr,len); memcpy(*HashStr,DigestBuff,len); DestroyString(DigestBuff); return(len); }