Add user-callable SHA-2 functions
authorPeter Eisentraut <peter_e@gmx.net>
Wed, 7 Feb 2018 02:46:46 +0000 (21:46 -0500)
committerPeter Eisentraut <peter_e@gmx.net>
Thu, 22 Feb 2018 16:34:53 +0000 (11:34 -0500)
commit10cfce34c0fe20d2caed5750bbc5c315c0e4cc63
treebad5c503278b81c77080c534a882a93c2bcb952b
parentedd44738bc88148784899a8949519364d81d9ea8
Add user-callable SHA-2 functions

Add the user-callable functions sha224, sha256, sha384, sha512.  We
already had these in the C code to support SCRAM, but there was no test
coverage outside of the SCRAM tests.  Adding these as user-callable
functions allows writing some tests.  Also, we have a user-callable md5
function but no more modern alternative, which led to wide use of md5 as
a general-purpose hash function, which leads to occasional complaints
about using md5.

Also mark the existing md5 functions as leak-proof.

Reviewed-by: Michael Paquier <michael@paquier.xyz>
doc/src/sgml/func.sgml
src/backend/utils/adt/Makefile
src/backend/utils/adt/cryptohashes.c [new file with mode: 0644]
src/backend/utils/adt/varlena.c
src/include/catalog/pg_proc.h
src/test/regress/expected/opr_sanity.out
src/test/regress/expected/strings.out
src/test/regress/sql/strings.sql