sha2_byte
void SHA384_Final(sha2_byte digest[], SHA384_CTX* context) {
if (digest != (sha2_byte*)0) {
sha2_byte digest[SHA384_DIGEST_LENGTH], *d = digest;
char* SHA384_Data(const sha2_byte* data, size_t len, char digest[SHA384_DIGEST_STRING_LENGTH]) {
void SHA256_Update(SHA256_CTX* context, const sha2_byte *data, size_t len) {
assert(context != (SHA256_CTX*)0 && data != (sha2_byte*)0);
void SHA256_Final(sha2_byte digest[], SHA256_CTX* context) {
if (digest != (sha2_byte*)0) {
sha2_byte digest[SHA256_DIGEST_LENGTH], *d = digest;
char* SHA256_Data(const sha2_byte* data, size_t len, char digest[SHA256_DIGEST_STRING_LENGTH]) {
void SHA512_Update(SHA512_CTX* context, const sha2_byte *data, size_t len) {
assert(context != (SHA512_CTX*)0 && data != (sha2_byte*)0);
void SHA512_Final(sha2_byte digest[], SHA512_CTX* context) {
if (digest != (sha2_byte*)0) {
sha2_byte digest[SHA512_DIGEST_LENGTH], *d = digest;
char* SHA512_Data(const sha2_byte* data, size_t len, char digest[SHA512_DIGEST_STRING_LENGTH]) {
void SHA384_Update(SHA384_CTX* context, const sha2_byte* data, size_t len) {