#include "pgsodium.h" PG_FUNCTION_INFO_V1(pgsodium_crypto_hash_sha256); Datum pgsodium_crypto_hash_sha256(PG_FUNCTION_ARGS) { size_t result_size = VARHDRSZ + crypto_hash_sha256_BYTES; bytea *message = PG_GETARG_BYTEA_P(0); bytea *result = _pgsodium_zalloc_bytea(result_size); crypto_hash_sha256(PGSODIUM_UCHARDATA(result), PGSODIUM_UCHARDATA(message), VARSIZE_ANY_EXHDR(message)); PG_RETURN_BYTEA_P(result); } PG_FUNCTION_INFO_V1(pgsodium_crypto_hash_sha512); Datum pgsodium_crypto_hash_sha512(PG_FUNCTION_ARGS) { size_t result_size = VARHDRSZ + crypto_hash_sha512_BYTES; bytea *message = PG_GETARG_BYTEA_P(0); bytea *result = _pgsodium_zalloc_bytea(result_size); crypto_hash_sha512(PGSODIUM_UCHARDATA(result), PGSODIUM_UCHARDATA(message), VARSIZE_ANY_EXHDR(message)); PG_RETURN_BYTEA_P(result); }