#include "sha2.hpp" #include "hex.hpp" #include "../base/macros.hpp" #include namespace sha2 { string digest256(char const * data, size_t dataSize, bool returnAsHexString) { hash_state md; unsigned char out[256/8] = { 0 }; if (CRYPT_OK == sha256_init(&md) && CRYPT_OK == sha256_process(&md, reinterpret_cast(data), dataSize) && CRYPT_OK == sha256_done(&md, out)) { if (returnAsHexString) return ToHex(string(reinterpret_cast(out), ARRAY_SIZE(out))); else return string(reinterpret_cast(out), ARRAY_SIZE(out)); } return string(); } }