Backport of:

ChangeSet@1.2703, 2007-12-07 09:35:28-05:00, cmiller@zippy.cornsilk.net +40 -0
Bug#13174: SHA2 function
Patch contributed from Bill Karwin, paper unnumbered CLA in Seattle

Implement SHA2 functions.

Chad added code to make it work with YaSSL.  Also, he removed the 
(probable) bug of embedded server never using SSL-dependent 
functions.  (libmysqld/Makefile.am didn't read ANY autoconf defs.)

Function specification:
  SHA2( string cleartext, integer hash_length ) 
    -> string hash, or NULL
where hash_length is one of 224, 256, 384, or 512.  If either is 
NULL or a length is unsupported, then the result is NULL.  The 
resulting string is always the length of the hash_length parameter
or is NULL.

Include the canonical hash examples from the NIST in the test
results.
---
Polish and address concerns of reviewers.


.bzrignore:
  Added libmysqld/sha2.cc to the ignore list.
client/mysql.cc:
  Add condition to remove code for embedded server.
client/mysqltest.cc:
  Add condition to remove code for embedded server.
include/Makefile.am:
  New header file to header list.
include/mysql_embed.h:
  Embedded servers can use SSL-library functions too!
include/sha2.h:
  Compatibility layer to make YaSSL behave like OpenSSL.
include/sslopt-case.h:
  Remove SSL-communication parameters from command lines.
include/sslopt-longopts.h:
  Remove SSL-communication parameters from command lines.
include/sslopt-vars.h:
  Don't declare variables that are only used in SSL communication, if
  we are compiling the embedded server.
include/violite.h:
  Don't even compile the SSL-communication function if we're in the
  embedded server.
  ---
  Remove CPP condition indentation.
libmysqld/CMakeLists.txt:
  Add new file to source list.
libmysqld/Makefile.am:
  Include standard DEFS in embedded compilation.  It's an undiscovered
  but that it's not there.
  
  Add new file to source list.
libmysqld/examples/Makefile.am:
  Include autoconf DEFS.
libmysqld/lib_sql.cc:
  Initialize SSL-related variables in embedded server.
mysql-test/include/have_ssl_crypto_functs.inc:
  Distinguish between communication and crypto.
  Use the tristate value of "have_ssl" variable to know whether to
  test or not for SSL-provided crypto functions.
mysql-test/r/func_digest.result:
  
  Test against the sample test vectors in the NIST Secure
  Hash Standard (http://csrc.nist.gov/cryptval/shs.htm)
mysql-test/r/func_encrypt_nossl.result:
  Update results to the new error message text.
mysql-test/r/have_ssl_is_yes_or_disabled_only.require:
  Distinguish between communication and crypto.
  
  Use the tristate value of "have_ssl" variable to know whether to
  test or not for SSL-provided crypto functions.
mysql-test/suite/rpl/t/rpl_ssl.test:
  Distinguish between communication and crypto.
mysql-test/suite/rpl/t/rpl_ssl1.test:
  Distinguish between communication and crypto.
mysql-test/t/func_des_encrypt.test:
  Distinguish between communication and crypto.
mysql-test/t/func_digest.test:
  Test against the sample test vectors in the NIST Secure
  Hash Standard (http://csrc.nist.gov/cryptval/shs.htm)
  
  Also, test that various parameters (legal and illegal)
  do what we expect.
  ---
  Distinguish between communication and crypto.
mysql-test/t/func_encrypt.test:
  Distinguish between communication and crypto.
mysql-test/t/openssl_1.test:
  Don't test SSL communication if we're in the embedded server.
  ---
  Distinguish between communication and crypto.
mysql-test/t/ssl-big.test:
  Don't test SSL communication if we're in the embedded server.
  ---
  Distinguish between communication and crypto.
mysql-test/t/ssl.test:
  Don't test SSL communication if we're in the embedded server.
  ---
  Distinguish between communication and crypto.
mysql-test/t/ssl_8k_key.test:
  Don't test SSL communication if we're in the embedded server.
  ---
  Distinguish between communication and crypto.
mysql-test/t/ssl_compress.test:
  Don't test SSL communication if we're in the embedded server.
  ---
  Distinguish between communication and crypto.
mysql-test/t/ssl_connect.test:
  Don't test SSL communication if we're in the embedded server.
  ---
  Distinguish between communication and crypto.
sql-common/client.c:
  SSL is useful for more functionality than just connecting.  Test
  for whether we are not embedded server also.
sql/CMakeLists.txt:
  Add new source file to source list so that we have access to SHA2
  functions.
sql/Makefile.am:
  Add new source file to source list so that we have access to SHA2
  functions.
sql/item_create.cc:
  Bootstrap the SHA2 function into the server.
sql/item_strfunc.cc:
  Add new SHA2 Item class methods.
  
  Clean up two minor problems.
  ---
  Remove extraneous debugging.
  ---
  We must check nullness of a parameter only /after/ computing its
  value.
sql/item_strfunc.h:
  Declare new SHA2 Item class.
sql/mysqld.cc:
  For embedded server, don't refer to SSL-communications variables
  or values.
  ---
  Remove CPP condition indentation.
sql/sha2.cc:
  Compatibility layer to make YaSSL behave like OpenSSL.
  ---
  Add comment for generated functions.
sql/sql_acl.cc:
  For embedded server, don't refer to SSL-communications variables
  or values.
sql/sql_connect.cc:
  SSL is useful for more functionality than just connecting.  Test
  for whether we are not embedded server also.
sql/sys_vars.cc:
  For embedded server, don't refer to SSL-communications variables
  or values.
This commit is contained in:
Konstantin Osipov 2010-04-13 19:04:45 +04:00
parent cd35dd73a1
commit 3227ba706f
40 changed files with 2315 additions and 83 deletions

View file

@ -1150,6 +1150,7 @@ libmysqld/rpl_record_old.cc
libmysqld/rpl_utility.cc
libmysqld/scheduler.cc
libmysqld/set_var.cc
libmysqld/sha2.cc
libmysqld/simple-test
libmysqld/slave.cc
libmysqld/sp.cc

View file

@ -4300,7 +4300,7 @@ sql_real_connect(char *host,char *database,char *user,char *password,
mysql_options(&mysql, MYSQL_SECURE_AUTH, (char *) &opt_secure_auth);
if (using_opt_local_infile)
mysql_options(&mysql,MYSQL_OPT_LOCAL_INFILE, (char*) &opt_local_infile);
#ifdef HAVE_OPENSSL
#if defined(HAVE_OPENSSL) && !defined(EMBEDDED_LIBRARY)
if (opt_use_ssl)
mysql_ssl_set(&mysql, opt_ssl_key, opt_ssl_cert, opt_ssl_ca,
opt_ssl_capath, opt_ssl_cipher);
@ -4421,12 +4421,12 @@ com_status(String *buffer __attribute__((unused)),
mysql_free_result(result);
}
#ifdef HAVE_OPENSSL
#if defined(HAVE_OPENSSL) && !defined(EMBEDDED_LIBRARY)
if ((status_str= mysql_get_ssl_cipher(&mysql)))
tee_fprintf(stdout, "SSL:\t\t\tCipher in use is %s\n",
status_str);
else
#endif /* HAVE_OPENSSL */
#endif /* HAVE_OPENSSL && !EMBEDDED_LIBRARY */
tee_puts("SSL:\t\t\tNot in use", stdout);
if (skip_updates)

View file

@ -5170,7 +5170,7 @@ void do_connect(struct st_command *command)
mysql_options(&con_slot->mysql, MYSQL_SET_CHARSET_DIR,
opt_charsets_dir);
#ifdef HAVE_OPENSSL
#if defined(HAVE_OPENSSL) && !defined(EMBEDDED_LIBRARY)
if (opt_use_ssl || con_ssl)
{
mysql_ssl_set(&con_slot->mysql, opt_ssl_key, opt_ssl_cert, opt_ssl_ca,
@ -7916,7 +7916,7 @@ int main(int argc, char **argv)
mysql_options(&con->mysql, MYSQL_SET_CHARSET_DIR,
opt_charsets_dir);
#ifdef HAVE_OPENSSL
#if defined(HAVE_OPENSSL) && !defined(EMBEDDED_LIBRARY)
if (opt_use_ssl)
{

View file

@ -37,7 +37,7 @@ noinst_HEADERS = config-win.h config-netware.h lf.h my_bit.h \
heap.h my_bitmap.h my_uctype.h password.h \
myisam.h myisampack.h myisammrg.h ft_global.h\
mysys_err.h my_base.h help_start.h help_end.h \
my_nosys.h my_alarm.h queues.h rijndael.h sha1.h \
my_nosys.h my_alarm.h queues.h rijndael.h sha1.h sha2.h \
my_aes.h my_tree.h my_trie.h hash.h thr_alarm.h \
thr_lock.h t_ctype.h violite.h my_md5.h base64.h \
my_handler.h my_time.h service_versions.h \

View file

@ -24,7 +24,7 @@
/* TODO HF add #undef HAVE_VIO if we don't want client in embedded library */
#undef HAVE_PSTACK /* No stacktrace */
#undef HAVE_OPENSSL
#undef HAVE_DLOPEN /* No udf functions */
#undef HAVE_SMEM /* No shared memory */
#undef HAVE_NDBCLUSTER_DB /* No NDB cluster */

66
include/sha2.h Normal file
View file

@ -0,0 +1,66 @@
/* Copyright (C) 2007 MySQL AB
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; version 2 of the License.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
#ifndef included_sha2_h
#define included_sha2_h
#include <my_config.h>
# ifndef HAVE_YASSL
# include <openssl/sha.h>
# endif
# ifdef HAVE_YASSL
#include "../extra/yassl/taocrypt/include/sha.hpp"
# ifdef __cplusplus
extern "C" {
# endif
#ifndef SHA512_DIGEST_LENGTH
#define SHA512_DIGEST_LENGTH TaoCrypt::SHA512::DIGEST_SIZE
#endif
#ifndef SHA384_DIGEST_LENGTH
#define SHA384_DIGEST_LENGTH TaoCrypt::SHA384::DIGEST_SIZE
#endif
#ifndef SHA256_DIGEST_LENGTH
#define SHA256_DIGEST_LENGTH TaoCrypt::SHA256::DIGEST_SIZE
#endif
#ifndef SHA224_DIGEST_LENGTH
#define SHA224_DIGEST_LENGTH TaoCrypt::SHA224::DIGEST_SIZE
#endif
#define GEN_YASSL_SHA2_BRIDGE(size) \
unsigned char* SHA##size(const unsigned char *input_ptr, size_t input_length, \
char unsigned *output_ptr);
GEN_YASSL_SHA2_BRIDGE(512);
GEN_YASSL_SHA2_BRIDGE(384);
GEN_YASSL_SHA2_BRIDGE(256);
GEN_YASSL_SHA2_BRIDGE(224);
#undef GEN_YASSL_SHA2_BRIDGE
# ifdef __cplusplus
}
# endif
# endif /* HAVE_YASSL */
#endif /* included_sha2_h */

View file

@ -16,7 +16,7 @@
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
#ifdef HAVE_OPENSSL
#if defined(HAVE_OPENSSL) && !defined(EMBEDDED_LIBRARY)
case OPT_SSL_KEY:
case OPT_SSL_CERT:
case OPT_SSL_CA:

View file

@ -16,7 +16,7 @@
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
#ifdef HAVE_OPENSSL
#if defined(HAVE_OPENSSL) && !defined(EMBEDDED_LIBRARY)
{"ssl", OPT_SSL_SSL,
"Enable SSL for connection (automatically enabled with other flags).",

View file

@ -16,7 +16,7 @@
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
#ifdef HAVE_OPENSSL
#if defined(HAVE_OPENSSL) && !defined(EMBEDDED_LIBRARY)
#ifdef SSL_VARS_NOT_STATIC
#define SSL_STATIC
#else

View file

@ -118,6 +118,7 @@ typedef my_socket YASSL_SOCKET_T;
#include <openssl/ssl.h>
#include <openssl/err.h>
#ifndef EMBEDDED_LIBRARY
enum enum_ssl_init_error
{
SSL_INITERR_NOERROR= 0, SSL_INITERR_CERT, SSL_INITERR_KEY,
@ -143,6 +144,7 @@ struct st_VioSSLFd
const char *ca_file,const char *ca_path,
const char *cipher, enum enum_ssl_init_error* error);
void free_vio_ssl_acceptor_fd(struct st_VioSSLFd *fd);
#endif /* ! EMBEDDED_LIBRARY */
#endif /* HAVE_OPENSSL */
void vio_end(void);

View file

@ -55,7 +55,7 @@ SET(SQL_EMBEDDED_SOURCES emb_qcache.cc libmysqld.c lib_sql.cc
../sql/net_serv.cc ../sql/opt_range.cc ../sql/opt_sum.cc
../sql/parse_file.cc ../sql/procedure.cc ../sql/protocol.cc
../sql/records.cc ../sql/repl_failsafe.cc ../sql/rpl_filter.cc
../sql/rpl_record.cc
../sql/rpl_record.cc ../sql/sha2.cc ../sql/des_key_file.cc
../sql/rpl_injector.cc ../sql/set_var.cc ../sql/spatial.cc
../sql/sp_cache.cc ../sql/sp.cc ../sql/sp_head.cc
../sql/sp_pcontext.cc ../sql/sp_rcontext.cc ../sql/sql_acl.cc

View file

@ -29,7 +29,8 @@ DEFS = -DEMBEDDED_LIBRARY -DMYSQL_SERVER \
-DMYSQL_DATADIR="\"$(MYSQLDATAdir)\"" \
-DSHAREDIR="\"$(MYSQLSHAREdir)\"" \
-DPLUGINDIR="\"$(pkgplugindir)\"" \
-DDISABLE_DTRACE
-DDISABLE_DTRACE \
@DEFS@
INCLUDES= -I$(top_builddir)/include -I$(top_srcdir)/include \
-I$(top_builddir)/sql -I$(top_srcdir)/sql \
-I$(top_srcdir)/sql/examples \
@ -55,6 +56,7 @@ sqlsources = derror.cc field.cc field_conv.cc strfunc.cc filesort.cc \
item_func.cc item_strfunc.cc item_sum.cc item_timefunc.cc \
item_geofunc.cc item_subselect.cc item_row.cc\
item_xmlfunc.cc \
sha2.cc des_key_file.cc \
key.cc lock.cc log.cc sql_state.c \
log_event.cc rpl_record.cc rpl_utility.cc \
log_event_old.cc rpl_record_old.cc \

View file

@ -32,7 +32,7 @@ link_sources:
done
echo timestamp > link_sources
DEFS = -DEMBEDDED_LIBRARY
DEFS = -DEMBEDDED_LIBRARY @DEFS@
INCLUDES = -I$(top_builddir)/include -I$(top_srcdir)/include -I$(srcdir) \
-I$(top_srcdir) -I$(top_srcdir)/client -I$(top_srcdir)/regex \
$(openssl_includes)

View file

@ -534,6 +534,7 @@ int init_embedded_server(int argc, char **argv, char **groups)
if (!opt_mysql_tmpdir || !opt_mysql_tmpdir[0])
opt_mysql_tmpdir=(char*) P_tmpdir; /* purecov: inspected */
init_ssl();
umask(((~my_umask) & 0666));
if (init_server_components())
{

View file

@ -0,0 +1,8 @@
-- require r/have_ssl_is_yes_or_disabled_only.require
disable_query_log;
# "yes" means that the ssl library is found and the server can communicate using SSL.
# "no" means that there are no SSL functions in the server.
# "disabled" means that ssl functions exist, but communication is disabled for some reason.
replace_regex s/(YES|DISABLED)/yesordisabled/;
show variables like "have_ssl";
enable_query_log;

File diff suppressed because it is too large Load diff

View file

@ -2,83 +2,83 @@ select des_encrypt("test", 'akeystr');
des_encrypt("test", 'akeystr')
NULL
Warnings:
Warning 1289 The 'des_encrypt' feature is disabled; you need MySQL built with '--with-openssl' to have it working
Warning 1289 The 'des_encrypt' feature is disabled; you need MySQL built with '--with-ssl' to have it working
select des_encrypt("test", 1);
des_encrypt("test", 1)
NULL
Warnings:
Warning 1289 The 'des_encrypt' feature is disabled; you need MySQL built with '--with-openssl' to have it working
Warning 1289 The 'des_encrypt' feature is disabled; you need MySQL built with '--with-ssl' to have it working
select des_encrypt("test", 9);
des_encrypt("test", 9)
NULL
Warnings:
Warning 1289 The 'des_encrypt' feature is disabled; you need MySQL built with '--with-openssl' to have it working
Warning 1289 The 'des_encrypt' feature is disabled; you need MySQL built with '--with-ssl' to have it working
select des_encrypt("test", 100);
des_encrypt("test", 100)
NULL
Warnings:
Warning 1289 The 'des_encrypt' feature is disabled; you need MySQL built with '--with-openssl' to have it working
Warning 1289 The 'des_encrypt' feature is disabled; you need MySQL built with '--with-ssl' to have it working
select des_encrypt("test", NULL);
des_encrypt("test", NULL)
NULL
Warnings:
Warning 1289 The 'des_encrypt' feature is disabled; you need MySQL built with '--with-openssl' to have it working
Warning 1289 The 'des_encrypt' feature is disabled; you need MySQL built with '--with-ssl' to have it working
select des_encrypt(NULL, NULL);
des_encrypt(NULL, NULL)
NULL
Warnings:
Warning 1289 The 'des_encrypt' feature is disabled; you need MySQL built with '--with-openssl' to have it working
Warning 1289 The 'des_encrypt' feature is disabled; you need MySQL built with '--with-ssl' to have it working
select des_decrypt("test", 'anotherkeystr');
des_decrypt("test", 'anotherkeystr')
NULL
Warnings:
Warning 1289 The 'des_decrypt' feature is disabled; you need MySQL built with '--with-openssl' to have it working
Warning 1289 The 'des_decrypt' feature is disabled; you need MySQL built with '--with-ssl' to have it working
select des_decrypt(1, 1);
des_decrypt(1, 1)
NULL
Warnings:
Warning 1289 The 'des_decrypt' feature is disabled; you need MySQL built with '--with-openssl' to have it working
Warning 1289 The 'des_decrypt' feature is disabled; you need MySQL built with '--with-ssl' to have it working
select des_decrypt(des_encrypt("test", 'thekey'));
des_decrypt(des_encrypt("test", 'thekey'))
NULL
Warnings:
Warning 1289 The 'des_decrypt' feature is disabled; you need MySQL built with '--with-openssl' to have it working
Warning 1289 The 'des_decrypt' feature is disabled; you need MySQL built with '--with-ssl' to have it working
select hex(des_encrypt("hello")),des_decrypt(des_encrypt("hello"));
hex(des_encrypt("hello")) des_decrypt(des_encrypt("hello"))
NULL NULL
Warnings:
Warning 1289 The 'des_encrypt' feature is disabled; you need MySQL built with '--with-openssl' to have it working
Warning 1289 The 'des_decrypt' feature is disabled; you need MySQL built with '--with-openssl' to have it working
Warning 1289 The 'des_encrypt' feature is disabled; you need MySQL built with '--with-ssl' to have it working
Warning 1289 The 'des_decrypt' feature is disabled; you need MySQL built with '--with-ssl' to have it working
select des_decrypt(des_encrypt("hello",4));
des_decrypt(des_encrypt("hello",4))
NULL
Warnings:
Warning 1289 The 'des_decrypt' feature is disabled; you need MySQL built with '--with-openssl' to have it working
Warning 1289 The 'des_decrypt' feature is disabled; you need MySQL built with '--with-ssl' to have it working
select des_decrypt(des_encrypt("hello",'test'),'test');
des_decrypt(des_encrypt("hello",'test'),'test')
NULL
Warnings:
Warning 1289 The 'des_decrypt' feature is disabled; you need MySQL built with '--with-openssl' to have it working
Warning 1289 The 'des_decrypt' feature is disabled; you need MySQL built with '--with-ssl' to have it working
select hex(des_encrypt("hello")),hex(des_encrypt("hello",5)),hex(des_encrypt("hello",'default_password'));
hex(des_encrypt("hello")) hex(des_encrypt("hello",5)) hex(des_encrypt("hello",'default_password'))
NULL NULL NULL
Warnings:
Warning 1289 The 'des_encrypt' feature is disabled; you need MySQL built with '--with-openssl' to have it working
Warning 1289 The 'des_encrypt' feature is disabled; you need MySQL built with '--with-openssl' to have it working
Warning 1289 The 'des_encrypt' feature is disabled; you need MySQL built with '--with-openssl' to have it working
Warning 1289 The 'des_encrypt' feature is disabled; you need MySQL built with '--with-ssl' to have it working
Warning 1289 The 'des_encrypt' feature is disabled; you need MySQL built with '--with-ssl' to have it working
Warning 1289 The 'des_encrypt' feature is disabled; you need MySQL built with '--with-ssl' to have it working
select des_decrypt(des_encrypt("hello"),'default_password');
des_decrypt(des_encrypt("hello"),'default_password')
NULL
Warnings:
Warning 1289 The 'des_decrypt' feature is disabled; you need MySQL built with '--with-openssl' to have it working
Warning 1289 The 'des_decrypt' feature is disabled; you need MySQL built with '--with-ssl' to have it working
select des_decrypt(des_encrypt("hello",4),'password4');
des_decrypt(des_encrypt("hello",4),'password4')
NULL
Warnings:
Warning 1289 The 'des_decrypt' feature is disabled; you need MySQL built with '--with-openssl' to have it working
Warning 1289 The 'des_decrypt' feature is disabled; you need MySQL built with '--with-ssl' to have it working
SET @a=des_decrypt(des_encrypt("hello"));
Warnings:
Warning 1289 The 'des_decrypt' feature is disabled; you need MySQL built with '--with-openssl' to have it working
Warning 1289 The 'des_decrypt' feature is disabled; you need MySQL built with '--with-ssl' to have it working
flush des_key_file;
select @a = des_decrypt(des_encrypt("hello"));
@a = des_decrypt(des_encrypt("hello"))
@ -90,9 +90,9 @@ select hex(des_decrypt(des_encrypt("hello",4),'password2'));
hex(des_decrypt(des_encrypt("hello",4),'password2'))
NULL
Warnings:
Warning 1289 The 'des_decrypt' feature is disabled; you need MySQL built with '--with-openssl' to have it working
Warning 1289 The 'des_decrypt' feature is disabled; you need MySQL built with '--with-ssl' to have it working
select hex(des_decrypt(des_encrypt("hello","hidden")));
hex(des_decrypt(des_encrypt("hello","hidden")))
NULL
Warnings:
Warning 1289 The 'des_decrypt' feature is disabled; you need MySQL built with '--with-openssl' to have it working
Warning 1289 The 'des_decrypt' feature is disabled; you need MySQL built with '--with-ssl' to have it working

View file

@ -0,0 +1,2 @@
Variable_name Value
have_ssl yesordisabled

View file

@ -1,4 +1,4 @@
source include/have_ssl.inc;
source include/have_ssl_communication.inc;
source include/master-slave.inc;
# create a user for replication that requires ssl encryption

View file

@ -1,4 +1,4 @@
source include/have_ssl.inc;
source include/have_ssl_communication.inc;
source include/master-slave.inc;
# We don't test all types of ssl auth params here since it's a bit hard

View file

@ -1,4 +1,4 @@
-- source include/have_ssl.inc
-- source include/have_ssl_crypto_functs.inc
# This test can't be in func_encrypt.test, because it requires
# --des-key-file to not be set.

View file

@ -0,0 +1,483 @@
-- source include/have_ssl_crypto_functs.inc
# These test data are from the NIST SHA Test Vectors for Hashing
# Byte-Oriented Messages. See http://csrc.nist.gov/cryptval/shs.htm
# Only the "ShortMsg" test data are used here.
# Values of x'00' in the test data have been excluded; it is not clear
# how to specify a length of 8 bits for a binary value like that.
SELECT SHA1( x'a8' ) = '99f2aa95e36f95c2acb0eaf23998f030638f3f15' as NIST_SHA1_test_vector;
SELECT SHA1( x'3000' ) = 'f944dcd635f9801f7ac90a407fbc479964dec024' as NIST_SHA1_test_vector;
SELECT SHA1( x'42749e' ) = 'a444319e9b6cc1e8464c511ec0969c37d6bb2619' as NIST_SHA1_test_vector;
SELECT SHA1( x'9fc3fe08' ) = '16a0ff84fcc156fd5d3ca3a744f20a232d172253' as NIST_SHA1_test_vector;
SELECT SHA1( x'b5c1c6f1af' ) = 'fec9deebfcdedaf66dda525e1be43597a73a1f93' as NIST_SHA1_test_vector;
SELECT SHA1( x'e47571e5022e' ) = '8ce051181f0ed5e9d0c498f6bc4caf448d20deb5' as NIST_SHA1_test_vector;
SELECT SHA1( x'3e1b28839fb758' ) = '67da53837d89e03bf652ef09c369a3415937cfd3' as NIST_SHA1_test_vector;
SELECT SHA1( x'a81350cbb224cb90' ) = '305e4ff9888ad855a78573cddf4c5640cce7e946' as NIST_SHA1_test_vector;
SELECT SHA1( x'c243d167923dec3ce1' ) = '5902b77b3265f023f9bbc396ba1a93fa3509bde7' as NIST_SHA1_test_vector;
SELECT SHA1( x'50ac18c59d6a37a29bf4' ) = 'fcade5f5d156bf6f9af97bdfa9c19bccfb4ff6ab' as NIST_SHA1_test_vector;
SELECT SHA1( x'98e2b611ad3b1cccf634f6' ) = '1d20fbe00533c10e3cbd6b27088a5de0c632c4b5' as NIST_SHA1_test_vector;
SELECT SHA1( x'73fe9afb68e1e8712e5d4eec' ) = '7e1b7e0f7a8f3455a9c03e9580fd63ae205a2d93' as NIST_SHA1_test_vector;
SELECT SHA1( x'9e701ed7d412a9226a2a130e66' ) = '706f0677146307b20bb0e8d6311e329966884d13' as NIST_SHA1_test_vector;
SELECT SHA1( x'6d3ee90413b0a7cbf69e5e6144ca' ) = 'a7241a703aaf0d53fe142f86bf2e849251fa8dff' as NIST_SHA1_test_vector;
SELECT SHA1( x'fae24d56514efcb530fd4802f5e71f' ) = '400f53546916d33ad01a5e6df66822dfbdc4e9e6' as NIST_SHA1_test_vector;
SELECT SHA1( x'c5a22dd6eda3fe2bdc4ddb3ce6b35fd1' ) = 'fac8ab93c1ae6c16f0311872b984f729dc928ccd' as NIST_SHA1_test_vector;
SELECT SHA1( x'd98cded2adabf08fda356445c781802d95' ) = 'fba6d750c18da58f6e2aab10112b9a5ef3301b3b' as NIST_SHA1_test_vector;
SELECT SHA1( x'bcc6d7087a84f00103ccb32e5f5487a751a2' ) = '29d27c2d44c205c8107f0351b05753ac708226b6' as NIST_SHA1_test_vector;
SELECT SHA1( x'36ecacb1055434190dbbc556c48bafcb0feb0d' ) = 'b971bfc1ebd6f359e8d74cb7ecfe7f898d0ba845' as NIST_SHA1_test_vector;
SELECT SHA1( x'5ff9edb69e8f6bbd498eb4537580b7fba7ad31d0' ) = '96d08c430094b9fcc164ad2fb6f72d0a24268f68' as NIST_SHA1_test_vector;
SELECT SHA1( x'c95b441d8270822a46a798fae5defcf7b26abace36' ) = 'a287ea752a593d5209e287881a09c49fa3f0beb1' as NIST_SHA1_test_vector;
SELECT SHA1( x'83104c1d8a55b28f906f1b72cb53f68cbb097b44f860' ) = 'a06c713779cbd88519ed4a585ac0cb8a5e9d612b' as NIST_SHA1_test_vector;
SELECT SHA1( x'755175528d55c39c56493d697b790f099a5ce741f7754b' ) = 'bff7d52c13a3688132a1d407b1ab40f5b5ace298' as NIST_SHA1_test_vector;
SELECT SHA1( x'088fc38128bbdb9fd7d65228b3184b3faac6c8715f07272f' ) = 'c7566b91d7b6f56bdfcaa9781a7b6841aacb17e9' as NIST_SHA1_test_vector;
SELECT SHA1( x'a4a586eb9245a6c87e3adf1009ac8a49f46c07e14185016895' ) = 'ffa30c0b5c550ea4b1e34f8a60ec9295a1e06ac1' as NIST_SHA1_test_vector;
SELECT SHA1( x'8e7c555270c006092c2a3189e2a526b873e2e269f0fb28245256' ) = '29e66ed23e914351e872aa761df6e4f1a07f4b81' as NIST_SHA1_test_vector;
SELECT SHA1( x'a5f3bfa6bb0ba3b59f6b9cbdef8a558ec565e8aa3121f405e7f2f0' ) = 'b28cf5e5b806a01491d41f69bd9248765c5dc292' as NIST_SHA1_test_vector;
SELECT SHA1( x'589054f0d2bd3c2c85b466bfd8ce18e6ec3e0b87d944cd093ba36469' ) = '60224fb72c46069652cd78bcd08029ef64da62f3' as NIST_SHA1_test_vector;
SELECT SHA1( x'a0abb12083b5bbc78128601bf1cbdbc0fdf4b862b24d899953d8da0ff3' ) = 'b72c4a86f72608f24c05f3b9088ef92fba431df7' as NIST_SHA1_test_vector;
SELECT SHA1( x'82143f4cea6fadbf998e128a8811dc75301cf1db4f079501ea568da68eeb' ) = '73779ad5d6b71b9b8328ef7220ff12eb167076ac' as NIST_SHA1_test_vector;
SELECT SHA1( x'9f1231dd6df1ff7bc0b0d4f989d048672683ce35d956d2f57913046267e6f3' ) = 'a09671d4452d7cf50015c914a1e31973d20cc1a0' as NIST_SHA1_test_vector;
SELECT SHA1( x'041c512b5eed791f80d3282f3a28df263bb1df95e1239a7650e5670fc2187919' ) = 'e88cdcd233d99184a6fd260b8fca1b7f7687aee0' as NIST_SHA1_test_vector;
SELECT SHA1( x'17e81f6ae8c2e5579d69dafa6e070e7111461552d314b691e7a3e7a4feb3fae418' ) = '010def22850deb1168d525e8c84c28116cb8a269' as NIST_SHA1_test_vector;
SELECT SHA1( x'd15976b23a1d712ad28fad04d805f572026b54dd64961fda94d5355a0cc98620cf77' ) = 'aeaa40ba1717ed5439b1e6ea901b294ba500f9ad' as NIST_SHA1_test_vector;
SELECT SHA1( x'09fce4d434f6bd32a44e04b848ff50ec9f642a8a85b37a264dc73f130f22838443328f' ) = 'c6433791238795e34f080a5f1f1723f065463ca0' as NIST_SHA1_test_vector;
SELECT SHA1( x'f17af27d776ec82a257d8d46d2b46b639462c56984cc1be9c1222eadb8b26594a25c709d' ) = 'e21e22b89c1bb944a32932e6b2a2f20d491982c3' as NIST_SHA1_test_vector;
SELECT SHA1( x'b13ce635d6f8758143ffb114f2f601cb20b6276951416a2f94fbf4ad081779d79f4f195b22' ) = '575323a9661f5d28387964d2ba6ab92c17d05a8a' as NIST_SHA1_test_vector;
SELECT SHA1( x'5498793f60916ff1c918dde572cdea76da8629ba4ead6d065de3dfb48de94d234cc1c5002910' ) = 'feb44494af72f245bfe68e86c4d7986d57c11db7' as NIST_SHA1_test_vector;
SELECT SHA1( x'498a1e0b39fa49582ae688cd715c86fbaf8a81b8b11b4d1594c49c902d197c8ba8a621fd6e3be5' ) = 'cff2290b3648ba2831b98dde436a72f9ebf51eee' as NIST_SHA1_test_vector;
SELECT SHA1( x'3a36ae71521f9af628b3e34dcb0d4513f84c78ee49f10416a98857150b8b15cb5c83afb4b570376e' ) = '9b4efe9d27b965905b0c3dab67b8d7c9ebacd56c' as NIST_SHA1_test_vector;
SELECT SHA1( x'dcc76b40ae0ea3ba253e92ac50fcde791662c5b6c948538cffc2d95e9de99cac34dfca38910db2678f' ) = 'afedb0ff156205bcd831cbdbda43db8b0588c113' as NIST_SHA1_test_vector;
SELECT SHA1( x'5b5ec6ec4fd3ad9c4906f65c747fd4233c11a1736b6b228b92e90cddabb0c7c2fcf9716d3fad261dff33' ) = '8deb1e858f88293a5e5e4d521a34b2a4efa70fc4' as NIST_SHA1_test_vector;
SELECT SHA1( x'df48a37b29b1d6de4e94717d60cdb4293fcf170bba388bddf7a9035a15d433f20fd697c3e4c8b8c5f590ab' ) = '95cbdac0f74afa69cebd0e5c7defbc6faf0cbeaf' as NIST_SHA1_test_vector;
SELECT SHA1( x'1f179b3b82250a65e1b0aee949e218e2f45c7a8dbfd6ba08de05c55acfc226b48c68d7f7057e5675cd96fcfc' ) = 'f0307bcb92842e5ae0cd4f4f14f3df7f877fbef2' as NIST_SHA1_test_vector;
SELECT SHA1( x'ee3d72da3a44d971578972a8e6780ce64941267e0f7d0179b214fa97855e1790e888e09fbe3a70412176cb3b54' ) = '7b13bb0dbf14964bd63b133ac85e22100542ef55' as NIST_SHA1_test_vector;
SELECT SHA1( x'd4d4c7843d312b30f610b3682254c8be96d5f6684503f8fbfbcd15774fc1b084d3741afb8d24aaa8ab9c104f7258' ) = 'c314d2b6cf439be678d2a74e890d96cfac1c02ed' as NIST_SHA1_test_vector;
SELECT SHA1( x'32c094944f5936a190a0877fb9178a7bf60ceae36fd530671c5b38c5dbd5e6a6c0d615c2ac8ad04b213cc589541cf6' ) = '4d0be361e410b47a9d67d8ce0bb6a8e01c53c078' as NIST_SHA1_test_vector;
SELECT SHA1( x'e5d3180c14bf27a5409fa12b104a8fd7e9639609bfde6ee82bbf9648be2546d29688a65e2e3f3da47a45ac14343c9c02' ) = 'e5353431ffae097f675cbf498869f6fbb6e1c9f2' as NIST_SHA1_test_vector;
SELECT SHA1( x'e7b6e4b69f724327e41e1188a37f4fe38b1dba19cbf5a7311d6e32f1038e97ab506ee05aebebc1eed09fc0e357109818b9' ) = 'b8720a7068a085c018ab18961de2765aa6cd9ac4' as NIST_SHA1_test_vector;
SELECT SHA1( x'bc880cb83b8ac68ef2fedc2da95e7677ce2aa18b0e2d8b322701f67af7d5e7a0d96e9e33326ccb7747cfff0852b961bfd475' ) = 'b0732181568543ba85f2b6da602b4b065d9931aa' as NIST_SHA1_test_vector;
SELECT SHA1( x'235ea9c2ba7af25400f2e98a47a291b0bccdaad63faa2475721fda5510cc7dad814bce8dabb611790a6abe56030b798b75c944' ) = '9c22674cf3222c3ba921672694aafee4ce67b96b' as NIST_SHA1_test_vector;
SELECT SHA1( x'07e3e29fed63104b8410f323b975fd9fba53f636af8c4e68a53fb202ca35dd9ee07cb169ec5186292e44c27e5696a967f5e67709' ) = 'd128335f4cecca9066cdae08958ce656ff0b4cfc' as NIST_SHA1_test_vector;
SELECT SHA1( x'65d2a1dd60a517eb27bfbf530cf6a5458f9d5f4730058bd9814379547f34241822bf67e6335a6d8b5ed06abf8841884c636a25733f' ) = '0b67c57ac578de88a2ae055caeaec8bb9b0085a0' as NIST_SHA1_test_vector;
SELECT SHA1( x'dcc86b3bd461615bab739d8daafac231c0f462e819ad29f9f14058f3ab5b75941d4241ea2f17ebb8a458831b37a9b16dead4a76a9b0e' ) = 'c766f912a89d4ccda88e0cce6a713ef5f178b596' as NIST_SHA1_test_vector;
SELECT SHA1( x'4627d54f0568dc126b62a8c35fb46a9ac5024400f2995e51635636e1afc4373dbb848eb32df23914230560b82477e9c3572647a7f2bb92' ) = '9aa3925a9dcb177b15ccff9b78e70cf344858779' as NIST_SHA1_test_vector;
SELECT SHA1( x'ba531affd4381168ef24d8b275a84d9254c7f5cc55fded53aa8024b2c5c5c8aa7146fe1d1b83d62b70467e9a2e2cb67b3361830adbab28d7' ) = '4811fa30042fc076acf37c8e2274d025307e5943' as NIST_SHA1_test_vector;
SELECT SHA1( x'8764dcbcf89dcf4282eb644e3d568bdccb4b13508bfa7bfe0ffc05efd1390be22109969262992d377691eb4f77f3d59ea8466a74abf57b2ef4' ) = '6743018450c9730761ee2b130df9b91c1e118150' as NIST_SHA1_test_vector;
SELECT SHA1( x'497d9df9ddb554f3d17870b1a31986c1be277bc44feff713544217a9f579623d18b5ffae306c25a45521d2759a72c0459b58957255ab592f3be4' ) = '71ad4a19d37d92a5e6ef3694ddbeb5aa61ada645' as NIST_SHA1_test_vector;
SELECT SHA1( x'72c3c2e065aefa8d9f7a65229e818176eef05da83f835107ba90ec2e95472e73e538f783b416c04654ba8909f26a12db6e5c4e376b7615e4a25819' ) = 'a7d9dc68dacefb7d6116186048cb355cc548e11d' as NIST_SHA1_test_vector;
SELECT SHA1( x'7cc9894454d0055ab5069a33984e2f712bef7e3124960d33559f5f3b81906bb66fe64da13c153ca7f5cabc89667314c32c01036d12ecaf5f9a78de98' ) = '142e429f0522ba5abf5131fa81df82d355b96909' as NIST_SHA1_test_vector;
SELECT SHA1( x'74e8404d5a453c5f4d306f2cfa338ca65501c840ddab3fb82117933483afd6913c56aaf8a0a0a6b2a342fc3d9dc7599f4a850dfa15d06c61966d74ea59' ) = 'ef72db70dcbcab991e9637976c6faf00d22caae9' as NIST_SHA1_test_vector;
SELECT SHA1( x'46fe5ed326c8fe376fcc92dc9e2714e2240d3253b105adfbb256ff7a19bc40975c604ad7c0071c4fd78a7cb64786e1bece548fa4833c04065fe593f6fb10' ) = 'f220a7457f4588d639dc21407c942e9843f8e26b' as NIST_SHA1_test_vector;
SELECT SHA1( x'836dfa2524d621cf07c3d2908835de859e549d35030433c796b81272fd8bc0348e8ddbc7705a5ad1fdf2155b6bc48884ac0cd376925f069a37849c089c8645' ) = 'ddd2117b6e309c233ede85f962a0c2fc215e5c69' as NIST_SHA1_test_vector;
SELECT SHA1( x'7e3a4c325cb9c52b88387f93d01ae86d42098f5efa7f9457388b5e74b6d28b2438d42d8b64703324d4aa25ab6aad153ae30cd2b2af4d5e5c00a8a2d0220c6116' ) = 'a3054427cdb13f164a610b348702724c808a0dcc' as NIST_SHA1_test_vector;
# See Bug#13174 and WL#3986 -- SHA2 implementation
SELECT SHA2( x'ff', 224 ) = 'e33f9d75e6ae1369dbabf81b96b4591ae46bba30b591a6b6c62542b5' as NIST_SHA224_test_vector;
SELECT SHA2( x'984c', 224 ) = '2fa9df9157d9e027cfbc4c6a9df32e1adc0cbe2328ec2a63c5ae934e' as NIST_SHA224_test_vector;
SELECT SHA2( x'50efd0', 224 ) = 'b5a9820413c2bf8211fbbf5df1337043b32fa4eafaf61a0c8e9ccede' as NIST_SHA224_test_vector;
SELECT SHA2( x'e5e09924', 224 ) = 'fd19e74690d291467ce59f077df311638f1c3a46e510d0e49a67062d' as NIST_SHA224_test_vector;
SELECT SHA2( x'21ebecb914', 224 ) = '78f4a71c21c694499ce1c7866611b14ace70d905012c356323c7c713' as NIST_SHA224_test_vector;
SELECT SHA2( x'76aa302bc7bb', 224 ) = '8e0f460d8c1f9d9a850a3a0b06408becc4950a77d5e8f94dc8e86fd3' as NIST_SHA224_test_vector;
SELECT SHA2( x'510db320ebc443', 224 ) = 'df4fc9bcd967feb83146fd4d2a7448d7d54119a14cb7ffc6753de703' as NIST_SHA224_test_vector;
SELECT SHA2( x'17040eed0880ed95', 224 ) = '5c81df5f342d1284a08d846c223f0367ca385ba60908a7fc93470317' as NIST_SHA224_test_vector;
SELECT SHA2( x'a92d4c1b971b963f65', 224 ) = 'a45eb31a2482b4581ac321b9175a386c69eb80d43191459e2de6bd0d' as NIST_SHA224_test_vector;
SELECT SHA2( x'49c7e96152a2b42ab57f', 224 ) = '53953c275c4fc2f87ca044760a861920fbfc1550a4c822e47457f038' as NIST_SHA224_test_vector;
SELECT SHA2( x'becc72bd1596ed064bfbdc', 224 ) = '98ec4bf49071d1b164fdbb415c67db965b7c5f191bb1801c76ea9dc1' as NIST_SHA224_test_vector;
SELECT SHA2( x'635afe6c43cabe340d430b69', 224 ) = 'c3a2de40958d2a35e3775eb60aab09fb3097658ac96fe2e142d28dfc' as NIST_SHA224_test_vector;
SELECT SHA2( x'c997165324078ed6160077dfea', 224 ) = '17c6235304dd830349bfd8ce7f8f1f41e52fc53bec7bb23382d2d598' as NIST_SHA224_test_vector;
SELECT SHA2( x'f871896748653be45dcb64a2bd1a', 224 ) = '3ff8e241b0895a06854d6f660cd7ddfc9a6b36ca73092f2f0cf54109' as NIST_SHA224_test_vector;
SELECT SHA2( x'b0ccdd6e9ed398117e1d3cd94b89c2', 224 ) = 'f38dc0dc7f1f93e95030db63f1231df91de8aaef76a39b1c08a6490b' as NIST_SHA224_test_vector;
SELECT SHA2( x'0b6ea2ddda429ccbb8f5de3332ac8a00', 224 ) = 'd9f4451ec9baba4c98a9c02b41442c58e1cc3eeb1bcb6d00a2b488c1' as NIST_SHA224_test_vector;
SELECT SHA2( x'9ab41a3b8c6c886dc3a57fdfad67fc655f', 224 ) = '2b82967b0e46d8cdc7ecab68a69e177dc01f665dcecc8de824f1bc2b' as NIST_SHA224_test_vector;
SELECT SHA2( x'785eabb7e7ca7c476cdd9b227f015d905368', 224 ) = '5617b3824c26b7a8ed43d636ce27a8f1e65b23e307e4d05422d94b56' as NIST_SHA224_test_vector;
SELECT SHA2( x'395883570fbfdbf39659bc838fb802c5cc323d', 224 ) = '4169ffec25b0c49a22cc7912f830d443ca4d3b0377ea0d22ca17f4e4' as NIST_SHA224_test_vector;
SELECT SHA2( x'6e5ecbbc6f36ec985c253f7e4bb6b1f8ab6c4942', 224 ) = 'db29fe2091df09f0fb0483a11e8134ecd480a3e4ca60dd12bab1543b' as NIST_SHA224_test_vector;
SELECT SHA2( x'393d8ef3671232dc6efcb3d6426fc88f730e946b5d', 224 ) = '6d34ae1f00d1d63a39209d15acb2c2420ff0899e11c3e673cd51cd24' as NIST_SHA224_test_vector;
SELECT SHA2( x'f222e611d99b3728b5e308f9b9b637b9d493528c2865', 224 ) = '93552ec989b20284010fb79cc7001ba7a59754f1485f3a3c1b361d70' as NIST_SHA224_test_vector;
SELECT SHA2( x'16cd2320dd785b07b681c86ad39e56549ee4d71aa9e69e', 224 ) = 'b9920881629965613c70a9b0a65eb9cd9b08945135fd2113586ba38c' as NIST_SHA224_test_vector;
SELECT SHA2( x'ceef92454528483f45a6992d179abff266145f2da2d10eb1', 224 ) = 'b7c5e536233ce1c24c2ef6f502246fcedb0d746cade7c849f17d32f1' as NIST_SHA224_test_vector;
SELECT SHA2( x'c2770ed3d60c1e7aa1a794818c1fbb9ad5cc5ef7329a8802b8', 224 ) = 'ec36a23fc74263583f1ae65daa968636c15a02e7ff72b0762fb7779f' as NIST_SHA224_test_vector;
SELECT SHA2( x'cbf96bd642247c2dd8cf7593f3d88cf61aba22c059604751e737', 224 ) = 'db2ae7e115b8b441de017133c775496efa4a0958d5a322bab780f50e' as NIST_SHA224_test_vector;
SELECT SHA2( x'be0a3d0d539017795cc9b21a6a10cd3fdc575f9303bedb4e8464b2', 224 ) = 'c2684880b50e9e8b8adcf348b71ff4fdbde66fe0c6b6b7197f87002b' as NIST_SHA224_test_vector;
SELECT SHA2( x'8530e9fdb69ed9bd05466ab4639e47affb7a05c2212fb38c85f9b2bc', 224 ) = 'fa6d9af7f6f5d0da8ea58a00c3c8714673e6112a6405887fd77e56e3' as NIST_SHA224_test_vector;
SELECT SHA2( x'd564b9e358cbee4766391e8679cc41c7f1f64f3713765ea151860a40cb', 224 ) = '9b93bf21dd9b587b1e7dccf3cc5df4f193a744a1a082ebf8df65c577' as NIST_SHA224_test_vector;
SELECT SHA2( x'12841b7f08bf555156c996ad24ff5c6df0b23c1f25721b63f08ca1954fd1', 224 ) = '98586368ba2d17eef435c6225f3337e4ba21a8657bf3a84ae75f38a3' as NIST_SHA224_test_vector;
SELECT SHA2( x'c90824f4096dcbc0a6d70cc1937c1306f501c66c85484b133689ca0e19a474', 224 ) = '735ab14d634b95c24e353ccafd4ab40fa5718e18eeb568905e79cfee' as NIST_SHA224_test_vector;
SELECT SHA2( x'd28f6765c7c1e5f05c9ebd6065b9020d255f9dce6d2b932504d586b64b4b7ffe', 224 ) = '2a97b7e1e67a3e22230e51bd6d44a203ca4d3406a11e16f949b0a6c8' as NIST_SHA224_test_vector;
SELECT SHA2( x'7a4464bb000276dfc851d80f73dcd7775141e8c427c48e7f30457e99616f0247f1', 224 ) = 'cc70020d59321c4ab85d60278e94b224d4d5aaa8491ab6a4bbbb04ca' as NIST_SHA224_test_vector;
SELECT SHA2( x'852368eb5a59e558acd85299955c47760a17ffcebf045d8b45782dd575faad861254', 224 ) = 'f6da08d8f011b7c7b6feaa0e49a864499dfa6bd1e2da81d8c195884e' as NIST_SHA224_test_vector;
SELECT SHA2( x'c90e047cf70ea40566ebd269b0e0b2cbc63245b84a06eba13975278fcde2a312a28b74', 224 ) = 'ce4e5baa8acd7653a3a8e62f0464ca286b41935864378c7667db6afc' as NIST_SHA224_test_vector;
SELECT SHA2( x'887fd70602e7599169d276dfd8bf44f93fae5188b52794f40f7da3ccb1542769a4618dce', 224 ) = 'be05c2526351af82cad735f69f46ed8b3202b5c170098c932a8e9d84' as NIST_SHA224_test_vector;
SELECT SHA2( x'ec1cd5fa0dfbb142e3b222664e2dbbc209d09c00e6addeea5bfb327c3ec3c43ecddd66d1f1', 224 ) = '85956e2a952ecf3b845268708ded872e1b1366b84f87e4775e668b76' as NIST_SHA224_test_vector;
SELECT SHA2( x'b67734b20bbaec455be457845bf058599c33bbeaf734be122fbdd011d23298826022398eaf1c', 224 ) = 'd5ed34af21626fe43634ba7df4f569d8186d43c061e63cdb038dbc36' as NIST_SHA224_test_vector;
SELECT SHA2( x'e09e7100af3ead397f9f5812a74e19a6a7571c7fb1b8b8ac69164f13eaaf760909905620dd0852', 224 ) = '41bcff813625d927814a70e78b22597d2119174f08ef28a1d9d6e654' as NIST_SHA224_test_vector;
SELECT SHA2( x'1d6613e39dde0059bc3bfd6da940cd9d740a2b8dc5f31907ceb775407ed5cd5df73874354317d559', 224 ) = '675468fc5f71d5e53b913350355990a19c3677b76e0daf1dbac0aa24' as NIST_SHA224_test_vector;
SELECT SHA2( x'57271ff1795bf74ef6668da1fe8ab0ccfd5050547015eb0af8c449eaace56943b4d7bb18145990c6c5', 224 ) = '6e3d10fb8d3c815636455b08fb1a732fe6ed542ab2e8325c314b6e49' as NIST_SHA224_test_vector;
SELECT SHA2( x'3f91d8bf80cb744fe79360f6ecd3f482b95dc8f2dece127e46b82fd76a007fafc484767c8701f0798d35', 224 ) = '34233d574c300c57f481f0568cc43f71c07d9f25c59ef49de74ad2db' as NIST_SHA224_test_vector;
SELECT SHA2( x'2408966adf5d3fba570366393882c3d68b5140dd3749a310c75a6efa6d7d038047e90cb9e28a1a00fdaf8c', 224 ) = 'ff0c34018f6c80705cacb86180f887491cd98d4a573f33c87398bb7a' as NIST_SHA224_test_vector;
SELECT SHA2( x'adf2e47a62db5003a2d2893c917686cb8dc41fbbc92cd02b37eaba43ac93ea6d3feedec1f20645c0947d0746', 224 ) = 'e91f826d6b7fee1cf731fd3a47d00b17edf669e1471644f0a3bf8365' as NIST_SHA224_test_vector;
SELECT SHA2( x'a8f17ae01bd749341b1cea3f73ef22c3a84e4ac38276f497c79ed23f4ae4d4f82488910d4258e8f0206be789d3', 224 ) = '026f1a48b71cdddd0335fc736cc9f6877bd67dc31e43f87cc04efb32' as NIST_SHA224_test_vector;
SELECT SHA2( x'eab69fea2590a847e6046aeb81e201cf1797b8636baf7d30f09893bb27a987ad276265327df62b9f37067e573cb0', 224 ) = '7b626a24d06c3f41d458edb360bef9456fda3e90d3fcc546ad2a79cd' as NIST_SHA224_test_vector;
SELECT SHA2( x'de1c468c1f27fc265a9497eb8dba257c5dfb8ff708ec27309bb6803e65bd823aab7fbd439dbefec589e120fb4f9825', 224 ) = '02fb84e794a91206437848a4449a2389343f42cbd2877a42d270d51f' as NIST_SHA224_test_vector;
SELECT SHA2( x'8a01037a92ff0ba48edd3707f2533723890ade105ef3256fdddd73a236471b38027226ab29bb544e03285d81bd417c27', 224 ) = '67ab2856e368a0bd0fea2042217b31c238fdb73ff8f4ed33090edeb8' as NIST_SHA224_test_vector;
SELECT SHA2( x'c9cc53bf67d6bf14d67e2ddc8e6683ef574961ff698f61cdd11e9d9c167272e61df0844f4a7702d7e8392c53cbc9121e33', 224 ) = 'ec263fa2ddfe9c7c05c2a025271176f703d487ea6067e35372d8c75f' as NIST_SHA224_test_vector;
SELECT SHA2( x'6380c0a6b3439be6ba13bc10db16c212d8569eeb4567a56d3c49e341538fb32bcbc18d8f0a001e354be89e4995bb5ea6e9bb', 224 ) = 'c577e8faf9233892919ac571c2248d94d47cb7451b847d6628dfa52b' as NIST_SHA224_test_vector;
SELECT SHA2( x'85f318cdefb50f71afb880ee058ad2e0b4310223b511f3da2d1006b69df7eb75581bb7a83b3e36ba98b0822e73b9d428f13c9b', 224 ) = '41b8b1081eb8571a8dd2af57f28336a77a47d0bb4d5968ee65d96ba0' as NIST_SHA224_test_vector;
SELECT SHA2( x'faa67b20b0b7f00960a5681df1d18eeb0265b50e19e8195cfd0f686060d6810bc1d07ba691bbe90b95585c158b7a2a55105c6e06', 224 ) = '58757f96ba28896e079fd76a578bb1b98ac3c178af2840b327a238ab' as NIST_SHA224_test_vector;
SELECT SHA2( x'b1f83a5ea85d72c9721d166b1e9c51d6cb0dd6fe6b2ac88fc728d883c4eaadf3e475882d0fa42808941ceb746b833755bded1892a5', 224 ) = '0a53a62f28cc4db2025dd9175e571912c1a8bd0b293d235f7a0c568a' as NIST_SHA224_test_vector;
SELECT SHA2( x'ce2b647be7bf54ea15fe79121bb04f0a04cbc49bbf89f7f70dbe40a79d6970c674895a6d9332926ed4df7445160a684b99fa652dabdd', 224 ) = '0dd413647bb39859aa84933a49af8fc9009690be7fbfb05f7f383015' as NIST_SHA224_test_vector;
SELECT SHA2( x'80d1d261afc7a40e810609b92e3617f68a2770a77f705ec2bb562354a6ef8ac69787c25f47426c0b8603f35b2c8d1ccc53e8de4cc30773', 224 ) = '1d47aa5186c55bad63f8a13f0e4543a6ef86ce6a18faade4d4d65ef7' as NIST_SHA224_test_vector;
SELECT SHA2( x'3b51a4dbd579846dcadae119be589a91a7dd84a727595f6b1a0709946bf1f2222bb6d041e48b946f2a809ce174052a232aac1500ff30bea1', 224 ) = 'd9c6c0f3b8102496d408388660765ba83b601ee3bffc2d3013f095d5' as NIST_SHA224_test_vector;
SELECT SHA2( x'9c76043970f3e2e1f533f85d86b41d394d8570270afe3f500fae28e88f957e051993efb16021633d3d3f26d9f7ad4a62c15e477b842ae5dfdf', 224 ) = '94a7213f15373971b135b47986b3135df4dd45589ba91562313dd70d' as NIST_SHA224_test_vector;
SELECT SHA2( x'738b98206d062d99a1d1d7b43f6bed03e01875006c322ffb3bc0d6577a4aa2f6d1eb11f242a7e78e55ff736c72c315008e28fd440a1a35add7d3', 224 ) = 'c40bbb13d17298721c32ed46254a0cba547c4c2086902fadf739802b' as NIST_SHA224_test_vector;
SELECT SHA2( x'88ff5518acc6aa5484d8e68c5731a04e877c692f68924a6d4e3d6ed3ea411bddd69de71d6e0e28dde2d5ac0689baaa417851f95b547c80ee6431ee', 224 ) = '9716f750b69fbf537147d5ef468b807425127d6c1df07ab085eb3fa5' as NIST_SHA224_test_vector;
SELECT SHA2( x'eaf46a39648bd2baf7d240eb37d812ff9b0f8a838b097f41ba7f5265b69724debe664607d3b4f1871100387640c43ac1a7fb9ccf20df376472f70dc6', 224 ) = 'd180561849855da0369998d10c0ba2775ecd3bc7392a8da1014116f3' as NIST_SHA224_test_vector;
SELECT SHA2( x'ef15b0ac7f267e7d9f4fab40b52ee9321a877fcd72443eed39bab7329f2eaba59698c39e29a681e50f04771780dbb74b47988af619ee650c251e1868ec', 224 ) = 'e75969253ec7b8caba5bdb0b024948430a217b3076fa90d4c881a8fa' as NIST_SHA224_test_vector;
SELECT SHA2( x'71482c3b0c0b65470314c4028b9343cd9092579a4d3623501941ec7184dccefaa294ad8aa7a26ec7b46f66fdf1571209dcad0976e10030e52a9d2db2b855', 224 ) = 'cee2546181cf14a689f5c66a6141f171a0d2fb116e880778c13ba220' as NIST_SHA224_test_vector;
SELECT SHA2( x'de38350f3fe504643d318bd131e6fb14f24e0762eaf5995170b1c4f552e0fb49b0f180d111261e7eb0971bd2177b6944efa31ce617472145f3052c910727f2', 224 ) = '7741192f3dfc1a50166dc6e6f18f6e8580bf45f098fd0559139d8adf' as NIST_SHA224_test_vector;
SELECT SHA2( x'81675f6f8ac523cabf94a8a43370a91d9717826e5026e6cdcd23d49217c0c797a95e2ee483d11b8c7a633fd2d21b16900e3f5fda0717cfde3cf4060e6971c282', 224 ) = '3c699b3b62e432e10a255fa7f6a6dbfc6d4b5813d6dcae32142e09fa' as NIST_SHA224_test_vector;
SELECT SHA2( x'bd', 256 ) = '68325720aabd7c82f30f554b313d0570c95accbb7dc4b5aae11204c08ffe732b' as NIST_SHA256_test_vector;
SELECT SHA2( x'5fd4', 256 ) = '7c4fbf484498d21b487b9d61de8914b2eadaf2698712936d47c3ada2558f6788' as NIST_SHA256_test_vector;
SELECT SHA2( x'b0bd69', 256 ) = '4096804221093ddccfbf46831490ea63e9e99414858f8d75ff7f642c7ca61803' as NIST_SHA256_test_vector;
SELECT SHA2( x'c98c8e55', 256 ) = '7abc22c0ae5af26ce93dbb94433a0e0b2e119d014f8e7f65bd56c61ccccd9504' as NIST_SHA256_test_vector;
SELECT SHA2( x'81a723d966', 256 ) = '7516fb8bb11350df2bf386bc3c33bd0f52cb4c67c6e4745e0488e62c2aea2605' as NIST_SHA256_test_vector;
SELECT SHA2( x'c97a2db566e5', 256 ) = '0eb0281b27a4604709b0513b43ad29fdcff9a7a958554abc689d7fe35af703e4' as NIST_SHA256_test_vector;
SELECT SHA2( x'f53210aa6ed72e', 256 ) = 'dee684641421d1ba5a65c71f986a117cbb3d619a052a0b3409306c629575c00f' as NIST_SHA256_test_vector;
SELECT SHA2( x'0df1cd526b5a4edd', 256 ) = '47f527210d6e8f940b5082fec01b7305908fa2b49ea3ae597c19a3986097153c' as NIST_SHA256_test_vector;
SELECT SHA2( x'b80233e2c53ab32cc3', 256 ) = 'c60d239cc6da3ad31f4de0c2d58a73ccf3f9279e504fa60ad55a31dcf686f3ca' as NIST_SHA256_test_vector;
SELECT SHA2( x'5d54ed5b52d879aeb5dd', 256 ) = 'e0164d90dbfcf173bb88044fac596ccd03b8d247c79907aaa5701767fad7b576' as NIST_SHA256_test_vector;
SELECT SHA2( x'df866ecb67ab00515f6247', 256 ) = 'dc990ef3109a7bcf626199db9ab7801213ceb0ad2ee398963b5061e39c05c7b5' as NIST_SHA256_test_vector;
SELECT SHA2( x'0757de9485a2eaea51126077', 256 ) = 'c1c9a4daadcc8678835872c7f1f8824376ac7b412e1fc2285069b41afd51397e' as NIST_SHA256_test_vector;
SELECT SHA2( x'7c66f5d443c11cfb39dd0aa715', 256 ) = '6840619417b4d8ecaa7902f8eaf2e82be2638dec97cb7e8fcc377007cc176718' as NIST_SHA256_test_vector;
SELECT SHA2( x'329624fed35639fe54957b7d47a9', 256 ) = '0f5308ff22b828e18bd65afbc427e3c1a678962832519df5f2f803f68f55e10b' as NIST_SHA256_test_vector;
SELECT SHA2( x'c34e59652acc043873ecf6a4ab1060', 256 ) = '0fdf1604ac0d717ec9587b4de5444aaade807589d90eb326eaf6acb58a051e79' as NIST_SHA256_test_vector;
SELECT SHA2( x'fdf4700984ee11b70af1880d0e0fefd4', 256 ) = 'b01ae16eed3b4a770f127b98469ba26fe3d8e9f59d8a2983214afe6cff0e6b6c' as NIST_SHA256_test_vector;
SELECT SHA2( x'ea40aadbefedb0e0d78d067c6cd65c2c87', 256 ) = '36157bbe61931d58a3a644953eaf131bbc2591c673a1f20353f51ca5054fc1c2' as NIST_SHA256_test_vector;
SELECT SHA2( x'6d1092004670efab3af483d265d8e7b3da73', 256 ) = '67fbf35d360d72b101410794ccf197106c0e784afa9c80206a550b600dbf1f16' as NIST_SHA256_test_vector;
SELECT SHA2( x'55a10148ae7b09ac4e71df438135bc70e873eb', 256 ) = 'cbe7965513af46dfd596dc5839cb82a5c6c7328034b1dd0042a9f4b71fb14430' as NIST_SHA256_test_vector;
SELECT SHA2( x'a03f8fcd777bd933b4b0af8c5ce3d61308565649', 256 ) = 'ddfce4e8c7b38845e2a81b7fc27a06366467a9e111316014013f9701e2413ce0' as NIST_SHA256_test_vector;
SELECT SHA2( x'8e5d6cba8d4b206381e33ca7339bec504f3d6119ba', 256 ) = '92f678a3e59d0dd3610eec3222b8c6ebd28eead530723fbd226747534da22b6c' as NIST_SHA256_test_vector;
SELECT SHA2( x'96db1b62eed85f2628d0c25da534401fe80d13d09beb', 256 ) = '725bab4457c789d6a4cc4736b9c2c662cda18407150844d74d6aa4efd72dbb05' as NIST_SHA256_test_vector;
SELECT SHA2( x'1c482a45dfbcda549729126b533477edfaf7476fde498f', 256 ) = '6523f24f225b996aad1a8b317e6e0f8e97673dcff3fd62a27ff9f3888ea1302d' as NIST_SHA256_test_vector;
SELECT SHA2( x'0f677d8e4c6d6a057492670d99adb870adf68a36ead37919', 256 ) = '44acbbc6b48bf37ee088b9c8546fc46e5a5f0d637b5e444f628de186144087fd' as NIST_SHA256_test_vector;
SELECT SHA2( x'c09056d597816542bffe4bb33e475dfb2d6293016906ddc18c', 256 ) = 'f4baeaef70588a0820d63c2401dd84f98adf7366782d196f8698d7dfd3db1c29' as NIST_SHA256_test_vector;
SELECT SHA2( x'72f313fdcf52d0749c9937cc2e53f50b44d65a544876bab7d2f8', 256 ) = 'cfa67aa52fd675fca985f69f9ca58af62baead8c39723bb6bfbae8a5d4bb9beb' as NIST_SHA256_test_vector;
SELECT SHA2( x'09f6fe6cbe6744149f792a4a827e4e8909627abf75301bf7bbd7f5', 256 ) = '657633891dc6274d6aeda78e7313dfb960eac9a24d29293a057b9746a18de4ec' as NIST_SHA256_test_vector;
SELECT SHA2( x'9e1cfeb335bc331744247df4bbd56876a7f69298aaf6b9e7a8731889', 256 ) = '930058dd21cb48b2cf90eaca55322ddf48582687838a584928440504a2fde578' as NIST_SHA256_test_vector;
SELECT SHA2( x'b8913001efb1b7f4bd975e349c5b2cbe66045bf0d2fb019b3bc0f059a4', 256 ) = 'a0eb0b7fad1d1b6de4f9096724a621720538a9c3f2f6d11134d68cb9ee52fc88' as NIST_SHA256_test_vector;
SELECT SHA2( x'8f08537d50928c911a68b071d65b9e8f038264d3b62c5f33de18a484cde9', 256 ) = '10aad5cd4484387373577a881974f1a550782108bc88b4e2e8085e9c3e938bbb' as NIST_SHA256_test_vector;
SELECT SHA2( x'fd846162c4da936d004ffe0cbe844d940f1c2953157cf4765dceba2a6f4c64', 256 ) = 'c13ba769aea0e478816f2f608b5cec3fe14672ea033088a8641cfe69b4ff57cb' as NIST_SHA256_test_vector;
SELECT SHA2( x'8cf53d90077df9a043bf8d10b470b144784411c93a4d504556834dae3ea4a5bb', 256 ) = '56059e8cb3c2978b198208bf5ca1e1ea5659b737a506324b7cec75b5ebaf057d' as NIST_SHA256_test_vector;
SELECT SHA2( x'1bbc2b15253c126e301f9f64b97be4ce13e96337687e2e78fbfd4c8daf4a5fa1cd', 256 ) = 'd973b5dcdae4cf2599f4db4068e4aa354f22d8901adc463ca3938c465578147b' as NIST_SHA256_test_vector;
SELECT SHA2( x'c1bdb3bfc65dfe9a393331266c58d05fb9c8b7476bb717dadc29bc43dabd91504fc9', 256 ) = '57844e1d762e6b7bb86dbfcc5c5a59578d39cc665d1ddbe4de03a61778061af1' as NIST_SHA256_test_vector;
SELECT SHA2( x'26eb621a45bd9c9c764ccbb672b99f2a8379c7bbf4fb07eec58a8b0ea4747b72196ccf', 256 ) = '73dc27bd45daccd0f811381230cf7f2a1d3ed1202e9a770af733146b1e166315' as NIST_SHA256_test_vector;
SELECT SHA2( x'7e3e3986109162e0c56357048bbd86ff49b93644b7fb064e7280968650978466f02c9adf', 256 ) = '682c474799f5103252c3e2efef7f747783e514b54e93b8303b0e07ee4218f78e' as NIST_SHA256_test_vector;
SELECT SHA2( x'763c1a9ea50bd72bfc516989ddf3eff2f208f64fccea3cf0ca8dba7f3d10e237c99226510f', 256 ) = '54d6cb2b09825eab064c8952113b9897a3344737cd186a8e6be0a0b258da3e57' as NIST_SHA256_test_vector;
SELECT SHA2( x'e1a7ffea8417e7cd49b96e355fd44f3f7a150fab6dd8343dfba3b262eaf3a6175a3c4607552b', 256 ) = '83baa80caade404c446833ecef2e595bba6dce2cb7f7422fad2972a9fe327aca' as NIST_SHA256_test_vector;
SELECT SHA2( x'692a18effad8317a11a5cddb917f7389e1be6dba34572a300e52e056047e758bc363a0be53784c', 256 ) = '0c0c6a6b27a6d7a7a5130d70db3b8bc1bd8001d103efe72f45b082cadbd03742' as NIST_SHA256_test_vector;
SELECT SHA2( x'73fda1e1cb7dc9a9ece858d040d7105cc126eab153fb0bb55703f4317dfff97bd980f4523aee3a09', 256 ) = '9878f8804e00828b39261843f2b3eda19a7e9b9ff4cc2e23f7ea1f62f4491ff2' as NIST_SHA256_test_vector;
SELECT SHA2( x'2321d88c19e3e6a8309a09a5428c01991e16446823f13b2f0db4ade30e9a7c3521868fb99b440f4802', 256 ) = 'f1bd3a8a74c8f0093038499ef63794d86fc6d82602a802a435718e61e7b396cc' as NIST_SHA256_test_vector;
SELECT SHA2( x'b9eaebda29172b052bcc1e3a9c7f2eced43c084a86f89f61e7237425137c167aac29e4cac4071afafd3f', 256 ) = 'ea43ec91285145d8f29915b227a0e35c89f90d968f9a14332dad275cfd52d619' as NIST_SHA256_test_vector;
SELECT SHA2( x'332daf07d3a6775b18572549a6e12b8a27d81b7c4abcc5bd0b2b9ff936546b0026af131cd3ecd8a10c29ab', 256 ) = 'a573959ba6b1c3bebfd6288c806b72a65650d23bd46d123816a2a6a0e47d1e66' as NIST_SHA256_test_vector;
SELECT SHA2( x'30ac7eace1f2e41034c25a3d3e2db979c23dfaa7a4914b0da147625b3e1f12e9fedc1c41d8ee47dde84fb332', 256 ) = 'c0c3f40d34e711bfadf517b3a78140e379fba5f7edf2c1bc3ce82469dae4d2d5' as NIST_SHA256_test_vector;
SELECT SHA2( x'02c3964c4ad9c4af97d373099302c2cd770ad06c7d8bd11c970161d861e917a854265e223da28031ee38041534', 256 ) = 'c13c622bf08a3d3cf1fd6fa5e26e505e551b1643bc5a0f59ed29541235218f77' as NIST_SHA256_test_vector;
SELECT SHA2( x'b9eed82edcf0c7ba69f6f6ac5722cb61daecaf30437511582117ad36ad410ebc6582511ef6e32dce5f7a30ab543c', 256 ) = '6ac64caaeda4763d28a44b363823a6b819285410fb4162af6ca657396f6028d0' as NIST_SHA256_test_vector;
SELECT SHA2( x'b574865024828bf651df070ac0cec1849aa6470901d2e30fa01dcb43862d9827344cf900f46fa9ef6d709e5e759f84', 256 ) = '4c839e8f8f373c25a9a3351257c6152258ff8e6a88dad42f30f2bbecab56c20b' as NIST_SHA256_test_vector;
SELECT SHA2( x'eebcf5cd6b12c90db64ff71a0e08ccd956e170a50dad769480d6b1fb3eff4934cde90f9e9b930ee637a66285c10f4e8a', 256 ) = 'c117b9dce689c399ec99008788cd5d24d8396fab7d96315c4f3fe6d56da63bb3' as NIST_SHA256_test_vector;
SELECT SHA2( x'1b7a73770d168da45bf2e512eee45153e02f4dfe3b42e50304a3d63d7826f0469562be8fdc6569b056a7dafcd53d1f597c', 256 ) = '0b42cfc3dd3d3198f06c30e087837ec6a6dd35d08e54e886c682709f8f42457a' as NIST_SHA256_test_vector;
SELECT SHA2( x'0072ae2f3bda67736b9c66e2130260b3a4847bc3968e037cb6835efcc2014273336725cd5a94f592aef20a0a65b459a4415b', 256 ) = '217cf25b8b343c28336b1c1e9bed29e0c96045bc93daf426e490b608b0905c90' as NIST_SHA256_test_vector;
SELECT SHA2( x'2ac748680f3bc1bf098c4be38c7194643b0d009e51c43630404cdfaf9807aa9b299094916c9466c31fe37fa630c6d3eadc9434', 256 ) = '3ea59e2e79513679a22e962f22408306f7e8f6e562c2f1f210e279fad8eaacc6' as NIST_SHA256_test_vector;
SELECT SHA2( x'893d1a8863d234ee50e5a8c7650a4de047230ad03d268dde8921401ff97b79dfb97cf2426b0f782b79c7e75daa2155e1f4098ea7', 256 ) = 'f7808e03e5d5af43c2bffb66e35d1ecbd79f4d8fec44f821f73a235d17c70a89' as NIST_SHA256_test_vector;
SELECT SHA2( x'cf673b96eaf241cfa3e262dc6fe65f08bcc2be56d8a2c9710eaddae212ded6859f0ff83e5e57d0e80a968b8ed24e74defeb5bbdad6', 256 ) = '9bdb7cf0492ace4620a47660acd127f951767b0738b5504451d6ed56e4fa3cbd' as NIST_SHA256_test_vector;
SELECT SHA2( x'0d545be1f47b966214691c21278704e89a17d52dd96aeeeacc5325a9a1ddafdecd39407a4dfa72bd32856b4c5cc2ba838618830c8399', 256 ) = 'ad53e0db7e63211c8b00947908ce29660c4376e244e19cd30a659af65dc6f1fe' as NIST_SHA256_test_vector;
SELECT SHA2( x'9eabfcd3603337df3dcd119d6287a9bc8bb94d650ef29bcf1b32e60d425adc2a35e06577d0c7ce2456cf260efee9e8d8aeeddb3d068f37', 256 ) = '83eeed2dfeb8d2604ab5ec1ac9b5dcab8cc2222518468bc5c24c16ce72e70687' as NIST_SHA256_test_vector;
SELECT SHA2( x'2fc7b9e8b8dcaac64ecef4c5f91877543ac36ae494d9faf84b1d347b6cf925570db84043d6f500dcc153cef81d6f2437d913f3dbffad42d9', 256 ) = '6ef7e9f12267ebc4901267da147effdcdebcd6ec5393c7f62ec4c4f06ca72649' as NIST_SHA256_test_vector;
SELECT SHA2( x'cf95929ab732f9ef5e8c3e6b4ed753852ee74e4fddf31b56c29a6ec95d23fcde2209eb7288b787f05d9036735c32ae2f01fc650d9cce4995a5', 256 ) = '3e5854169da065407fa465a4694f3fcb1d141480a8f84c970a0f63364ec8f590' as NIST_SHA256_test_vector;
SELECT SHA2( x'826378013988684c40f4d917c7ed8b72aba66fd68f085d0b2eb20948ef3f349dbbc71f8e0ba845014586495a48902ee44505c673d2f76d473950', 256 ) = '5b506b823ef6658939aca22f52bbe5a4b849c31b8fa1d09139352e501137bc04' as NIST_SHA256_test_vector;
SELECT SHA2( x'0cab6d38ce9849fcbd589f7235a6d2c2cb933e26e1ca6f4e78189104452c280c069b024e162769373f409d5cd0cb8160f0239418325d23ee6ad1bd', 256 ) = '92943076cda4c46718e55df64d7580e12b8fb2c2911e87851246ccf6791fa3e6' as NIST_SHA256_test_vector;
SELECT SHA2( x'3fb4a8c5b57c14731179256608614c95c9725ddad5fbfa99111d4fa319d3015ad830601556e8e4c6d012d7da0e2c4f60f1605f6e4c058ec0f46988a3', 256 ) = '8e90da3eb146935264576f874fcc5a64b7a90ab6c8a36c15d855b0179f52f899' as NIST_SHA256_test_vector;
SELECT SHA2( x'9050a6d002c90f6036c592b0f6b866713e7894d29645f4a19e0858b3ebd8078711c26d2601ca104d962dc6ce6ae92634ee7f3ca6baf8810e2126097a09', 256 ) = '03c516677735ae83dbe5a7e4c22c1ac1bfedcd46e7dd785f8bfe38e148eda632' as NIST_SHA256_test_vector;
SELECT SHA2( x'd659ec136bacfa0b5c906aabedc93c01c5f1efa3f370a1432ea8778461703f0c67c454da12bac2da73b8abb755e5eaf10bddf52f6ca908d61bee80da0c64', 256 ) = 'fff2852957a0eeb577e73fd7d827f650261dfb9a8a65f52df4bbbc9b2d0ae50e' as NIST_SHA256_test_vector;
SELECT SHA2( x'b498555658332b197bc5cb7adc5c1997aabbdcf1f7ffcc2b6b82eb0f350019d247f8e399c3559d3bb04eb049f28b344c7989c24db83f839b59028dc82fa670', 256 ) = 'bfbbf242f79bff4ae0aafb4ccf69b24fdca4342d83db1dfd1822c74a9e218e8d' as NIST_SHA256_test_vector;
SELECT SHA2( x'3592ecfd1eac618fd390e7a9c24b656532509367c21a0eac1212ac83c0b20cd896eb72b801c4d212c5452bbbf09317b50c5c9fb1997553d2bbc29bb42f5748ad', 256 ) = '105a60865830ac3a371d3843324d4bb5fa8ec0e02ddaa389ad8da4f10215c454' as NIST_SHA256_test_vector;
SELECT SHA2( x'ab', 384 ) = 'fb94d5be118865f6fcbc978b825da82cff188faec2f66cb84b2537d74b4938469854b0ca89e66fa2e182834736629f3d' as NIST_SHA384_test_vector;
SELECT SHA2( x'7c27', 384 ) = '3d80be467df86d63abb9ea1d3f9cb39cd19890e7f2c53a6200bedc5006842b35e820dc4e0ca90ca9b97ab23ef07080fc' as NIST_SHA384_test_vector;
SELECT SHA2( x'31f5ca', 384 ) = '78d54b943421fdf7ba90a7fb9637c2073aa480454bd841d39ff72f4511fc21fb67797b652c0c823229342873d3bef955' as NIST_SHA384_test_vector;
SELECT SHA2( x'7bdee3f8', 384 ) = '8bdafba0777ee446c3431c2d7b1fbb631089f71d2ca417abc1d230e1aba64ec2f1c187474a6f4077d372c14ad407f99a' as NIST_SHA384_test_vector;
SELECT SHA2( x'8f05604915', 384 ) = '504e414bf1db1060f14c8c799e25b1e0c4dcf1504ebbd129998f0ae283e6de86e0d3c7e879c73ec3b1836c3ee89c2649' as NIST_SHA384_test_vector;
SELECT SHA2( x'665da6eda214', 384 ) = '4c022f112010908848312f8b8f1072625fd5c105399d562ea1d56130619a7eac8dfc3748fd05ee37e4b690be9daa9980' as NIST_SHA384_test_vector;
SELECT SHA2( x'333b2459200d2b', 384 ) = '5dc6eb1bf26c54f2e0409f5a31aa97c37c8e168d0226e7d2764a11aff3fb76d15e9348520386d730e1998e530c59b56c' as NIST_SHA384_test_vector;
SELECT SHA2( x'ad46049e0230c70e', 384 ) = 'c0bc9050670743f554a639e21a5870c864ef56ca831fceb7295b4c3050c3c20876839cfb0d1bcc11c9d64304ed008517' as NIST_SHA384_test_vector;
SELECT SHA2( x'ffa6f17b0798388a71', 384 ) = '026c58cab40b45e5909bde1af1bc1ab2669af98a9e3eff10d1ba68f5e3f2adf47038c03b3cc0e07d5353b6ed4d0027e6' as NIST_SHA384_test_vector;
SELECT SHA2( x'7eb8d60bf02398ffa689', 384 ) = '683c413c0bb9ecf3a0da7a88c314e85d4658ea4c7ea21b48ea5adafe66746a97e9fe40d7a3b4f1c3fd4a1fab75dcf422' as NIST_SHA384_test_vector;
SELECT SHA2( x'c0cf1a3f73dfae7c114118', 384 ) = 'be9839e9ac6ac7a06dbc494823e52b43427b649d6c00d7be2a4ee1c99e75096a82aa9546f804f4c5e2d62afe3b269b06' as NIST_SHA384_test_vector;
SELECT SHA2( x'ad5f06ce6e1632966e4a3bcb', 384 ) = '33e29cf43f8cf3c3680710b342126a020e72398ad4be6bae86511a7771d563bf6e76867eb8890d31fea793adb2843481' as NIST_SHA384_test_vector;
SELECT SHA2( x'cb3d16ad70bf80e5a9b1113cc7', 384 ) = '64ea8d5538a7ad26c87ac68f5e30c454d150cd3311066124dfc11fd58a56b1d42339f410a09fe7478ffad037f412f992' as NIST_SHA384_test_vector;
SELECT SHA2( x'842562ff1d0fc2c173825395a03a', 384 ) = '638c3239fa399faa786a12eae1acda4744cd8d65b7be4532d40de84a994096e929ac6d385d84183637cadfedf2941e86' as NIST_SHA384_test_vector;
SELECT SHA2( x'cc95dd4d94b075071b31eeecbe9421', 384 ) = 'ebefdbf6230a671d7b1e31b26fd386f792074f8a897e395c5cf327b5cf9019220e661ed1edd1eb35ca5dd8fb4ba90389' as NIST_SHA384_test_vector;
SELECT SHA2( x'daf8002b9394138220770bf3026ba123', 384 ) = 'ada9fb71becbea38bd3378b87d8b67906298d8a57b9c371462e88fce6528d30756dce80691c484f0ed787d4165d09aa0' as NIST_SHA384_test_vector;
SELECT SHA2( x'7464d6ecd83a91466fcb1b2c671fae075c', 384 ) = '1cfc153ff54c2eb7825a8772da16b2a39f817fe2e27ec73f7393b3999102d02b480d25b22112aed7f44207d81ead5e2e' as NIST_SHA384_test_vector;
SELECT SHA2( x'5520843bdf4af949ae3764b5a9c57c64f513', 384 ) = '8bbf382a606b530cae88e084c944cd32e1690139698e8c92edca1d330cc6675ecdc31c49101467737b0fca2ca71e83e9' as NIST_SHA384_test_vector;
SELECT SHA2( x'b2a41b40e3b53d1dc5e37570193f9f76bb80a8', 384 ) = '78df76c6bf5f95fdce5e015eaa37a7e0782b42185c9c989903c26fd43015dd93d949c9ef1a21c858901a60633e840ce8' as NIST_SHA384_test_vector;
SELECT SHA2( x'aa986e747d04b932ab8266f259f1ee18e87fd7e6', 384 ) = '81f50207238b98d4eac5907d3c61a982f0cd155a15a100659ea3cdd88cd705e282227161359cfed12ed384a82cf96bc0' as NIST_SHA384_test_vector;
SELECT SHA2( x'948b333f042cc18a82cec0177f33c3bdbf185b5803', 384 ) = '5ca83aec2a89bb12ba15cd5c28bc685998f6e62de2ea2706144aa4e073b6b97be7750d0fb86e4a32499920d721a8e59b' as NIST_SHA384_test_vector;
SELECT SHA2( x'57271feb9fadb6ef7c9c988258889583a7e2ed86bf7a', 384 ) = '8308f23dbd930f511998ec5cc95428870abb156729a166902b268bd6992ba335d81d9881035d4ec3509fea18015a4c4e' as NIST_SHA384_test_vector;
SELECT SHA2( x'b1e6d9be83ca63c0dfd043898cf49690b30aeff093a6a7', 384 ) = '3a94cc56c3c7cc17d54a836b2920edacb0e27a93d63cc152da25010cfab7776bfbb2505af2a0528a1f0198a6375dbcd2' as NIST_SHA384_test_vector;
SELECT SHA2( x'c030bb7a49275a4c0a80bc24c6c1d86f4467ca2aa1e6c900', 384 ) = 'ee66585df3f2e40a86d29f15a0f6e7674bf258d0c8dbf78698401fdf0f8b94fe45de202748024d244eb2b8d6e4bb6371' as NIST_SHA384_test_vector;
SELECT SHA2( x'aead39a90fed8eaa4bbbe3b2641ef21f8e89321e94af581e78', 384 ) = '55836ec67d5b81f77b38300b7d13db81bcac7fa6b1d8839f65806965978f4fab0db69e50b74d3d1698ab9e10131fe28d' as NIST_SHA384_test_vector;
SELECT SHA2( x'2b9e8d1adc0c06a4961299400245d54fd2258b6cff50314455f5', 384 ) = 'b858bf457211e1e10ceff855552eb4ce5067a7664d7008df210cb63502d04f5a03250b64acbdba78f2c30f4820204bb1' as NIST_SHA384_test_vector;
SELECT SHA2( x'8e4a0b1b68b8115aee9569c4a1f33109373b790be267a8a8d5721a', 384 ) = '8e97304e6222cc6a93fedb2d526aea034c3d706ff59c1bac6b9c88c3afd15d2328c1615e94c43262d338ec89a545b855' as NIST_SHA384_test_vector;
SELECT SHA2( x'300d1802549eaea76f75f4ad10b123bc55ca60afbc17353b369342d1', 384 ) = 'b9c1ea27080cffb70a36b07a44cefad77917d3e7c2429cc196175b21018c99d94e1bb125cb180d45b3241dc210536abc' as NIST_SHA384_test_vector;
SELECT SHA2( x'fd628596a69e7038d31e1cf2acba11fb20f7cf9ed72b658668e23f38cd', 384 ) = '8bbb105eb0be34dfcb9b3dae06f77a3e21cce06f701339cbc3844237383295270af51ca28dc893108de65b163a75cc20' as NIST_SHA384_test_vector;
SELECT SHA2( x'6d8393d6679e69244db604ea71226fdb4ad3e70e223832020f6032de245f', 384 ) = '4f200337cfa5b77032a7e5e0fa6dbd35a85e4cdba9e2d61d69f3d82dbc4d64e4ff2d029dc52cd2cff90270a0a5a016e8' as NIST_SHA384_test_vector;
SELECT SHA2( x'922110e043965d39c2c124499d47877f1e9e33a27b72365b4d4812f443620f', 384 ) = '2ec96054f9d4b87ffb2b447eff8aa44d40200a099c8f6698ae7c86889d3b2beb7ba60634525c4cd3f4635191c822811a' as NIST_SHA384_test_vector;
SELECT SHA2( x'b8211b7aa8ae99d26e35c06ea4b226e0a6e52172a40e7f0df5f67759ae2ee026', 384 ) = '093945494108573fbff96c4ea888181f798a022ee5e89137b688a15c5ac85c4da72b8c44558e62323b4de180962aea53' as NIST_SHA384_test_vector;
SELECT SHA2( x'6966ef05235dddff26bec1853eb36840434604a79cd4d11702bff9258664b633d6', 384 ) = '8de0abf7a039124ebaf3570db07f3e7547633a5ac56f8c86f8bdcea7296033d7e19c329c381afc050002b7a7b219234c' as NIST_SHA384_test_vector;
SELECT SHA2( x'11e8a909b7335c7713671d545943c7e24ec07a8d453935284dcfa67aa90c40f980c7', 384 ) = '4c07b1ac241d727cb0face5e306cbf5672f560acd8e26c7d6cf52782cafb5341733f167237ec56a8e245761c99508844' as NIST_SHA384_test_vector;
SELECT SHA2( x'508d360e41e4f2d5356d6d63d1069d21ebfb2e60a0cd2e3fa0320acecd5cb973057e37', 384 ) = '5933be6cb65ba0c9aa50377f93f5b4311961739ba8de3407284974e8a659b900289da049161036278c77dc3e4f16f232' as NIST_SHA384_test_vector;
SELECT SHA2( x'a382f5d82a34420b8779a3980ea138f4ea7aa5fe1074ae40760305727f455f40bae5cd4e', 384 ) = '381728f154103fc0de79131de07de5b81ab8e51a9b470e0dbf860f0f7cb6d8418cc604d00895634b2becea268c6e230a' as NIST_SHA384_test_vector;
SELECT SHA2( x'63fe4a7f46ad6ebbd8644a6750c601ed00357c5f3ff602bba68f086e7f744a167ae31a8ca2', 384 ) = '1a9bf6ca1f0f435da889c59bec482755926e80b06bd46f80bbda9bf4a30a1630db22837380522146a36e5fb954a7779e' as NIST_SHA384_test_vector;
SELECT SHA2( x'94d972dab4e15e51e8bf91890d2ef1a155e26ea03eb48fb7c5ff51c6d64a322208278996875a', 384 ) = '4926848163c834639686244f89c64bc90ebb2c57456a2c56705a7039dc1389fe81bfc3e4d4ac526173a53a2064604a3e' as NIST_SHA384_test_vector;
SELECT SHA2( x'0c555adb19cd55039a9e27028184e89f44a8725f28cfc457bfd2a43eaf4e89c6b69cb72ceb04ac', 384 ) = 'b00119ff6f8d405608c74185121c05f76f2268a3726bfe3ffadf7b338b1df0e0557080ae533c56a31b8959037a88d69e' as NIST_SHA384_test_vector;
SELECT SHA2( x'567c3828db664ac1e31624b8b5c7e344f39eebcbc43a2b0e318ca2a2d0e9219fa05d539c3543fcda', 384 ) = '636a24bf0d53cb13c27441633781005baec355c2ebd231e393df934275c404150b46d39f100b245064dd2d9f4e19f453' as NIST_SHA384_test_vector;
SELECT SHA2( x'32a59e2acdff4c2aee788ab4c7cc36fd477ade2a906dd512acdc86467b6f094ff0a3f4367d6f744acc', 384 ) = '0749c3b9c115b3e29731947878fab9c9cff2286e3f9a24d62240278514c41bef220bbde040f23db4692f915ef40cc92e' as NIST_SHA384_test_vector;
SELECT SHA2( x'cfc3ef84e70f9247d9c123de7be8c6e9ba4c7395dfa5556f110a707a1bac877e70c43da46cca7a40dde8', 384 ) = '2b3a9ee9aa7fdaa27d23fdecdf0a7da71d2e9b8e9948c5912f5d2d02a42f22d4e29c179b1c38a1e463569cdc9c2063cb' as NIST_SHA384_test_vector;
SELECT SHA2( x'eaa144363d47bcd68c0c950be45ce1b87043c87140256fd449af1f1cad0da3f33d5df1883c640de266802b', 384 ) = '5263e9f3e8a1bb5634050ca89916a961a0ced1a92950ec20aef411e431d16cf9f77ef414b75ad922d9308f9dfe571e75' as NIST_SHA384_test_vector;
SELECT SHA2( x'c63da62dc71e97de646f695b5a8c58fa6fae08e5fb622529a83a460976c2189802b5b8870771603b25a94622', 384 ) = 'f63558786f3f06cc84884f14a93a9ef96b1174af8e15296380f7057320bf21e2b5c0684b00a00d895267c3e1404142ff' as NIST_SHA384_test_vector;
SELECT SHA2( x'5225b6563257ef806fb0eea5df034cc319db7a5b295f1075887861e64b3653ce9a706e6464ab32f6513dae2bf8', 384 ) = '5be5579e0bc2404523392f95cac2e3e9e59d398b11143e481594edc57cd04247355bee2fa80d0ef2e5dfc0f6f45c4fb4' as NIST_SHA384_test_vector;
SELECT SHA2( x'c0b22bc12ecee79ea76f1907a8f435f657b7bb375c92ae11f2a248283e4aeca2df7b5c89c6332c704844775a7157', 384 ) = '1ea1bffd5aee1377de1af01d7c895ef5ebe1c1d72b532b43d5e264c158637414ad1416f21e9a32b194415d6e3e982906' as NIST_SHA384_test_vector;
SELECT SHA2( x'0dd0f1807170ea493604c82293732648a106786e1a1df10d6021a4fcc1b9e940f9410225f878fe8ee678de8965ecf7', 384 ) = '2482561cd0e3468a5d8c75c3a1261cb36257536cb165c0f29f817d80833b6a002eee5dc778a953124d79d4d4835b12c4' as NIST_SHA384_test_vector;
SELECT SHA2( x'78334108ce6261ddee5d98045bb307a6e8f3d0ee65c1d9bc7d28cd9edf3264fc9cb6e592d072e9238559616cd42eda58', 384 ) = '87feb45250c1e5b4cf701f86fb24d6a49b2c0d2de92db884e2fcdf5e323c0539c78e5a99fdaf56896eed27b897095741' as NIST_SHA384_test_vector;
SELECT SHA2( x'e9d96ef05a41486b10ea2e5a9c7059e227ac4d4b61db664cbbfdb488d67c09583b0e4fcb4cdc1feb7be49042b99c4d9d31', 384 ) = 'c0d72a3a4cbee53ce48df9574b65dd0791b15b03202f7c13ada8cde3a4e8c220d9f3d00a3e37b31f44cf6fb5c7134e18' as NIST_SHA384_test_vector;
SELECT SHA2( x'90413184900f9c0de1a1983e1eb348bd2c2654aa7b3e4474880d2df2a72f90afffb87f85d66b016d0f2db895f0b9c1b32994', 384 ) = '5c06fbe39a401c80f0463a485d6a32250218db63fb8ad77d1cfce824849d0a61b4acd5a36fa14b22a62beb758b780e6a' as NIST_SHA384_test_vector;
SELECT SHA2( x'630fb204cedd5efd2a3c272e318e3b1b3277f8bb12d90b139203d90acf251e780f07d380bafb5620a711c5069989aaa50a8ede', 384 ) = '73e862668fab744ef2768a9bd2fc382532b99c03c4cdbd88eea4a224c56c187d48f8f9985b73d283ce03d71d49dd1c41' as NIST_SHA384_test_vector;
SELECT SHA2( x'0f372d71e1c9941d7872956309db44db57108d8be1e0106859862f1a5989640052e0d874c55a3250b53dadb05c2d6efa1d50141c', 384 ) = '13712a36f85a7ff0b98838d674b058bafd11c8a3a9c5ce505bbab1eef6bd640644f94e47a73fd7cfda5a1ff30d830b2c' as NIST_SHA384_test_vector;
SELECT SHA2( x'50dd69e3080e0d8a9713202b68c4e87fa2b57bdb940a39a8568c9a13adfc2a0530a7d156a93a583ebed8290cd16a561a2436dd0041', 384 ) = 'd22632b3ed8e83b528e40beb2ae4e01bdcff0e62cd0d48a35f92cd2d286ce5d72a597e0ff2cafbe9ea7eaef32ce5343d' as NIST_SHA384_test_vector;
SELECT SHA2( x'ef4501c9eaca54649b6e7dea45005ec7716d7c787b37a79e5122de5178316db650d058d49853fca3349ff4662e273a3bfc1b8ef101db', 384 ) = 'a7574f6b0f1872483ee52be517172dd2193e67cf5b3994947dcbc2866274868c70391dadd8d81de7573ba658e2615871' as NIST_SHA384_test_vector;
SELECT SHA2( x'9fa31c5626eee059714e363391284189666594b7ab694f6732498b637138f9a73e43c5bbd73fc13f25ffbfc742ca3eea380b4a960c4b9d', 384 ) = '055c9415e4a5c921eb9721cb32a5c0b47fb57b1af4884332557946717942615ca6251694381537f2a7edc490dfaa82f9' as NIST_SHA384_test_vector;
SELECT SHA2( x'e2b76d556ee3b9475a1c54e18ebb0854c7971f543d1a25c9839bf0c7aee7dec0b9215ef828cdb23aec27f3ca87b9559a702cacc0b95f2f28', 384 ) = '6cae189d9765f9a56c825f5e24f5f5c9f60d80f57a35f788ea548e7755844e2592db2c7244a26d7c37ba9a3e5f744a3d' as NIST_SHA384_test_vector;
SELECT SHA2( x'd189c6cfa4c14712cfae7fae68d66907595151886e88888bac3d5c79e5cc473289b067afbf482ee6b4db5bed33db29637766c60c3d1206bb1d', 384 ) = 'fc72b66aaead15676fea59cbbc20d39c929c8590a50a0a05d146c41fd92272da3a56f58f6cc93149fd65e91b3f1655a2' as NIST_SHA384_test_vector;
SELECT SHA2( x'31981d12960c16661b3f7c7952871a7b00a975677da7557d5ed980f3523fc9e84a164999dda9edd7ea6a31b97f412a8ef924ca156de860f14757', 384 ) = 'a470316104c9828cd96f2b76886a37d01ae5c5a0e537097c4e397dda1c49c59a78d33f4c4d5dd634b7956920760eb0bf' as NIST_SHA384_test_vector;
SELECT SHA2( x'44eb420655c5cb6e54645bb6d41dc4f8d5ffafcaeb61e06d9cbebb4709c30793d1a5f35832b85697713e3bc97c7c9d89cf146f8d948ee0da0e38dc', 384 ) = 'b0b028aca4364c92427c4d8edaa5f6dbe2b30e626433d20ce27e5bb74b17dc59f3e9e23e08ce9d49882cc26118e8fae1' as NIST_SHA384_test_vector;
SELECT SHA2( x'0871e0c4f2885572f7847cec0629592df48515d2c3225be3248001f13ac2eb61a1a82c07afbd6ff7fad296971aaaa0f9b0f7d068a7850b41b9b68305', 384 ) = '503fb0ecc8b6bfbeff397b9fc02598651ebec429acd50e3add6a9752f576e24c5d933573ebcc23cdf06f807000370825' as NIST_SHA384_test_vector;
SELECT SHA2( x'32a5984a4510ac51a9b876ef1eaed25e82a9adab45a817721dd99ae9fbbaca1f3d7e1e8625b2feb08a201d56cdf4099e0f1d019da1f6061bbc26349773', 384 ) = '0ba492631a4261465c137033eb1492ff8cdb0e06f8494e2c52fcf029b157f2127e0f4f75b5d3a10209ba70bd7eddec9d' as NIST_SHA384_test_vector;
SELECT SHA2( x'3d62c78e081a996ea4ce2124d6816a62112b9c7eea5c142ecc23ba90ed2e8f6d803286be2d8e956fbe2b0b641ba624ba78b1db4fcdb6ff8486be89417c92', 384 ) = 'e6b6eb5d03c7caaca9f7a62c6cb48c0c5662686c975325d7b94878a43b64fc38a884b2c3635ba7f74df36402c974a7c8' as NIST_SHA384_test_vector;
SELECT SHA2( x'78817bc3f6285eca108e54b14091d1ebb9ecb1b7555dcc5acf07cbab32153ad591a0de59f9d24852a44caafd6fc6ea788ef5f5ca7fb256243c580767b56e86', 384 ) = 'a0ed388522b9bf2737b10071c9e22c9d6db99bb3808ea3248959d075062d845b872d2eeabfa4e123b4f738a685a3c41d' as NIST_SHA384_test_vector;
SELECT SHA2( x'58beabf979ab35abba29376d5dc227abb3d2ff4d90304982fc1079bc2b2880fcb0129e4fedf27898ce586a91b7681e0dba385e800e7926c0bc5afe0d9ca98650', 384 ) = 'a0888e1c4d7e80cbaaafa8bb1ca1ca912a932175c2ef982ce1f123a8c1aee9635ad75be52590a924bed3f5ec36c35690' as NIST_SHA384_test_vector;
SELECT SHA2( x'd03e8048b7c387b43067b039e5b9a0f353d94824862dc485235683daac63a9c90044b1ec218157253a2cb532e114ac81993b85459b8ad8c9d6c4ad0434b9e26f1f', 384 ) = '370629f3dc8c8d4b79c3fe8f9033de2a4bd42874f7b3ffedb4b38d73e7959896c45572f08f2974c86e7a51a6117d1dbc' as NIST_SHA384_test_vector;
SELECT SHA2( x'296a9a5b9a0d101f186d9fa6288c912202547cdf958569d2cbf235740eed38d10b0025dbb6de31058e98780d22149c19d4bcaf06dd7353fd91cd1f47e47f45622e14', 384 ) = '66d6336d30e32ca8ae874fd4869dc3ae94edd97484c385bc93a6384353ed358cebea55bfbda954ac16972596ea51384c' as NIST_SHA384_test_vector;
SELECT SHA2( x'fe4d2ae2bd5484c7782648130e33f1e478a2deacaca1572ac1f9cb9953e55b2729249da8154d998c1c63180ed7a91faf19b7b6e3d3ceed0a346921a114147cba9281bb', 384 ) = '1df79be52e4a50b6fd14cae825139a39c30829081342b9c4de4fae59df8a0ff20c8a9fe3c498c9ff567a89a32b2e7210' as NIST_SHA384_test_vector;
SELECT SHA2( x'6ff84418235fc6ab5d12c1bc6591c66a689e9f21b59e2b1d2c416929f265d2ad6a38ece7619d1c7989d2bb24294f6dd312f1aedbd557ae81338d5fbdd5e7cc3d3e30acad', 384 ) = '75df8657107143d13f309094728c3edc8e92dd36a504e0c0f5c9e8ce64bcc40af18630a1913e9f2214e6638c2bd68552' as NIST_SHA384_test_vector;
SELECT SHA2( x'22817ea8761a32516e99c2c00a4d4e6290b46f3d819bcb31cb87e77e40543d87471c8fd6d25a7a5f904f4e0963a51d6a145312d246c0048ca82b4b606f4ad35c04316fd5f9', 384 ) = '51c1275486c73022fe476005a436a0f8623683d568a7e804d81329726fb30a64778b559cb2152a8a7d7889b67c77b1ce' as NIST_SHA384_test_vector;
SELECT SHA2( x'd4070bd6e39c3da7751a714915e73e85b73ccb7857379044dc2c6105423da807f82af236876aadd5757a2f736975fb1b8fe540cc3ed8a328d9373e70f354e9b0b6c2b8378569', 384 ) = '87510a9917a6b12fadb3da68908606fab3c76b8e94e250eeae2817dfd4365991b1b517bcda578875fbfddcfdf1b7b142' as NIST_SHA384_test_vector;
SELECT SHA2( x'f61034de4f9b0c2d203170cf0d344bd869fba4fca977bb5218175558ccea5438d8048a49c322cfd93991512a014b2cba2f643bc79ba42d139176dbe5ca00d8509b944ab76d47f9', 384 ) = '4c0e7b2409850cb0d22b8944d44876f097a40ee7a5e3cc4a7a20269516d1a3ae5b0b52b5af33d7a7cc5c839966c712ea' as NIST_SHA384_test_vector;
SELECT SHA2( x'39b82498bfb4c821096255f6555e0638d06d9a7a4f62a8c83f4233e8dfa67edfad6121b81d635d8091ddad9586a69d210bdedfe178d19c2b5c1d082fb718397d6a6c39c7eb045ae8', 384 ) = '4dddda1188954064b4d134d8be7acc52207945894f97402cb0e8b2519c2b2ca449ca96a4ab4bdf078b0ef2fc9814a74d' as NIST_SHA384_test_vector;
SELECT SHA2( x'2477a617791efe62db70e5592e0f815edc0dacaacb0c92928ca37b08d504e56431dcd665f67b70727735c6267c08ee0cef7f58a7d8d55db68c5e1bb5202381a724cca6138ec45f4df5', 384 ) = 'bee03bed3eaceb6d7ddfbfd5bac017fe346928f5a128b2fc0bba965d80cdcdac653af7dd433feaa6fbbe4c415d24ff3c' as NIST_SHA384_test_vector;
SELECT SHA2( x'12812e2b54e6b89b199fbe3b695bbedaea02953969f5aa6cb6976983b50cf36ab241130ef52c75c1965512e09395efb3201d07943ebb85548f5937da69c7400d29ba0df5ca148a1cb665', 384 ) = '19227eb974a9f7079479e27ebd95aed4cdfed11ee12395cb5ac3ed04e384b6bbc174800ed6455c5a354f669b0ee90b62' as NIST_SHA384_test_vector;
SELECT SHA2( x'e4776aff9f9176054f80f5edac658c95b0aa114a039fa08ab765ec0e350cd40877f837a9788908e6e9fba57c268a643168da6f5d3c97d3aa3458d318dcca8244ef0a91e9cb5265a723d86c', 384 ) = '37d1224bcc443bfc2d1770098da71b98fdf3256210c1eb4b489d3766de535f7aac9431a6cf37cb87dc5cebb5adf220fa' as NIST_SHA384_test_vector;
SELECT SHA2( x'060e912736074954f440871c4b64d92e452ba79bb9dcad7f6510aee43cb867e30161c30c15b74d098e48ea7d888bc832c02192745f5ae6b813fb0882643fd885461b010beac67497da7915c9', 384 ) = '9f54ebcdfcf95e7acb00e6e99a8409c10eaf9cf9967266f8524f9467925b9525af07940227d2d947f9642eaab289bbc7' as NIST_SHA384_test_vector;
SELECT SHA2( x'647ccd775229a0b7b1f4c4f81e58dc2963432954edc0a06981d3403d2aa4a2d276e0d2d9e15d5d7592fdab4245d48f96898d1d072b09bc2df24a7ca98c90a965c9c1a01e070ee120eed466515d', 384 ) = '938e9d2cb62164167b2d8ba8300ffcf007e0fdcc80f236ce113c304ae4bc589fcae301bff4e72a7f5179f397fe012915' as NIST_SHA384_test_vector;
SELECT SHA2( x'717a756d3b651897c7dd97a926431d3277ca5d29aa2f7a3989a4245cf80d05ab7b6e5b75faa4e68ec15404e9cb221b69402337f53c94f4cbd2cc9f16516f98c2c5e5fa8fc10a7e645c279de77a22', 384 ) = '9ecf76b5e05ac4704389b2ef4f7205ace4d152ced735cdb451801eb709702b264aa02aa5efa9cb7c37b526ecd238a319' as NIST_SHA384_test_vector;
SELECT SHA2( x'95530985e73134f6fef027c8c61f4b9308afd67de19ce70173d0d2efda44b8b461685cdcf6c531d5dce0b8f6a06208bf4e77ae63e474b88307bc0d3df5e40065bb152412a8b2615d013b4765f672a3', 384 ) = '5f181e9003766e88b6118b2d9bc8cf9425e34a6881a91fd87c5bba87121e6954b8599d6dbed8f2e7a74f2ea0755909ee' as NIST_SHA384_test_vector;
SELECT SHA2( x'a707cfaea184546db789b53ac256c2f23563a767b1a11abed303d916513d546b45cca6b9c836ca64c3930cd7024cbd6b8a232b8b2d73d1175bb9ca053b548c4efa89d20864cadacfb138d16aa1668cac', 384 ) = '4a62f6f793b9f8c5e89498c5d45e52c50a3a004dd1c9213d9d1d0cb40f5fb0610cbe5eb261752764ff3fc35a32fd9aaa' as NIST_SHA384_test_vector;
SELECT SHA2( x'9241ecb23c7fc0cd69bdfb825614de606332f0256a5ef0df4fb60d51d8bb5a98bf107c0f067fa56f8b3dc73bdc6f015b4cec5e064745bee6e2031477b62fd2b1ef18a2e6a05057ed5af82380fc3d0ae3cc', 384 ) = '9c3bdd4f0b8edd507740d4bc873e35d0963e4cafd27188cc0d63341d25dbf09912ef03903230b1f5c2d0a1c1b9e4b1c9' as NIST_SHA384_test_vector;
SELECT SHA2( x'89f96eb0353730367f030d1e91b09debf27ab965570feb3ebd4e24f5b44eadfbfea2601558db1801984f665cf81986c3b2619139cddef3c83698206b12f3832c53e9b78a8997fa1dfbfbdf7df7fc435f66aa', 384 ) = 'a7ca6ca52bfa61a490b7de070ff6279ea87d816ad8754a6e529946141954aebcd9c1b1ca1d9fd39137f062c6a2eb7ddd' as NIST_SHA384_test_vector;
SELECT SHA2( x'cd42b8496d6c5f23b06b440d6a17f03991e02140eeb51d1e1824477ea3c2f03995cd6f19191074e27807999344443ae9d7118725fc57d70febbe403b7b16648b93f68df5e1a2fd86cf327fa7b3f142a04604e7', 384 ) = 'f9910144685987e9500f006d3360d1c270bbe1a90fe658e2a1cf87f4aa32d9e41097cd964964b78589db448fc4de3900' as NIST_SHA384_test_vector;
SELECT SHA2( x'105f9d121228137fa8138ca3c84d503d89a1d087874a2db18905fa8f616a438f147bceed3b7ea02aa908c3ba4e5b47fd5bf18770a759ae2552427970a8d63ee448492d7d85b1d61f0c18eb3fc7cf47e0020630c2', 384 ) = '8a98f8c9d86edaf0c6dc59be207cfc8ab18dc0b384d2fd9f4a358f42890a919de839eff5388327dc7b175f89e9168c55' as NIST_SHA384_test_vector;
SELECT SHA2( x'd7448b7ffb746ec0bdd88106a725b84b59cccd317c21d446f8bc1687671f1c23c99a0a81796c2f83602bd90d68666ec13388b80d0eff8168209e60d8e740d2b8e6af8cb897c41025a7cf7f6b6238aed86d677ba2b3', 384 ) = 'fcfbdf092f428b59a1c51c55d0c09d68863c0d2b76368d80f106e0d24b25c4caae1f8a18de689ad0bf6327ff118295c1' as NIST_SHA384_test_vector;
SELECT SHA2( x'd44bb6b3ebe582bec0c602118f430ac362547eb2ede95d78b681fe9a79f89a03caa00bb1fc94d3af4249604314668f68d4d66e7eb21b4641cde5d9f89ae3e8ee8ad9f826e7f3564bff5959e68503e7d434cf3af6b5d0', 384 ) = '4a6de936a59f5b85d03caece8be0eb1940a20afd38fcff9e83d3ca57d9da95344878528b42d4ce4931e8426a893124cd' as NIST_SHA384_test_vector;
SELECT SHA2( x'9082f0080bd1030f74595b75376a5b1f7b1ffd2fa3d9751e1beb110a51976451013aa35eb6c34fc38e6914883d9ef2c3543e9a69c40d1b649d60bde61c1a2dfce5dadb668d73a1a65b9da55750ea80c064fba0a913f3ea', 384 ) = 'a3336329854e6dcac625ab1f10cce649687e431009071c9d4fe91bd9da82badc84aeb107ce4d226adb32adc39b66412b' as NIST_SHA384_test_vector;
SELECT SHA2( x'14d5039c17beb28e8200a3d4a4febe87c23891c90d6fe903d00ba471eeb9c1e18c58b9b70b16123539d631f9c8d670c7ff8e7089afdbb194695c5f2dee1c6f4ce772eba0d6268ad24dd5840e5e97a4c052de9f9b9da2a4e0', 384 ) = '3af733d34b8905c0a06d8cb459e092546cc3e5b90b3e635bb090d871609932b2a219b577181edfbffa67ac7738450c84' as NIST_SHA384_test_vector;
SELECT SHA2( x'95c025f86b7d76b086a8c592b2e9eca1397b0717bc837c5762a0392335c33d0fc8415a351d26392bc7cd9e324cadedb0cd76eee1e95dcdc9deb3656df1bdbd4211c0d3e6b75b990e10193ec05e47aec29c035c5260963f1706', 384 ) = '1ef611d4aa2ee16894eb7e17905f3d66bff8596811f20ef5906d71f9bd0ee3040269efa8ca4273ca43387241c624144d' as NIST_SHA384_test_vector;
SELECT SHA2( x'984beb16e04ba209ff4dc567d53edda1de37eac9b8f805a5df924402bc63de4ade478f59870d3e8d6a28de1cb3a792ab4868141c4e8857a7f01d6b2c5b28a2c70dc5f1a650a5981701be05e59641f6e560cddfcc0ce28b437098', 384 ) = '47898d856fb815e3d208df5670acfec6c436eab9b0b1ec63f298a2b81e8d5d326562fbb284f3f7bc70024b5269e2ec2b' as NIST_SHA384_test_vector;
SELECT SHA2( x'964c2903d33e9c10b8a7573f4ebdc7178decba00cd7971067d65f6da1794b019532e34d19c465e42c0b9a1e1eb599ba3d64bec773cae49148e7dccf6e7b78ea342bd7833ebfb560f33ca2df96895cf4d043bac8625b5eb033df9ba', 384 ) = 'b7ed21b6f2e1370febc83bc27479757bee06c4065f143d6dd93553448950361815c7ee09e961a98ed21100934a13bc23' as NIST_SHA384_test_vector;
SELECT SHA2( x'00633ae4c920f41f16796c713bfd43ff92323a9b7b865350a088333a7e58cb9b215c372c2e35e6b127f2fcd0eb83f4237c708a8c05cbd8c91c63bf48443a883cb639cbf06123905b2fc8b5f68a7b90ca1fc5d4cde15bb96e514e576f', 384 ) = 'f0a86c75dab5034adf835bf62498226b9d4c5d0bf5237b371654058a024e06630c63c7d8ef8d0879e4767e9821d47599' as NIST_SHA384_test_vector;
SELECT SHA2( x'6ad118436ce2e22a2b8b7118c8bc081ca9925ddb6f7a37d528983beac66a031cd1a87196586f43ee2d9fe7a7528290faaeae89d5042cca2526d9c951660d92064e7b1a3a9158d06b40c0762841552fd3fe29d9a55ade9cf2e90bc3af60', 384 ) = 'b4460710cf4d9147e9f73e26d97f039533a98ab4cd66399451318bf09a912ccf5267b39a0c8d4c2eeca1e9370a998dcb' as NIST_SHA384_test_vector;
SELECT SHA2( x'330ecd4f7820328eb2d1442c9ff555c1c705cbac5f7223056e3936d32eb8bb7fb5bf0e89d4eb307a402f0e1aefb406e2c5e3a7b470c0b8ca91797ced1c3e35e70154e73a0c655e12091b72792ded8acab1385f68c09103af935a212bdb93', 384 ) = 'd8d0edefc5881544f7e72431b41b1b2fcfc198a47ae1b89d43bf118200b8529c60eab34963855283291386aadb0e67e9' as NIST_SHA384_test_vector;
SELECT SHA2( x'32d5e868b0b48239a6d74799ae8046f4d98faa564f9b80233541c108d4bc8c31f7b6b3bc945e796eafbb9aa57c408c8ec4a0059889e4bd29edba758f50103839b9e1e127774fdd9f08f332223971c09e8f4fc7e5e607aa5e585af3fa60e896', 384 ) = '01817497f65899ff7dbd32c4a1c34fb0f6d1c9dc426cdaf6bc42d14c68a6e610aac9fcc47c02076162f1510777a416a5' as NIST_SHA384_test_vector;
SELECT SHA2( x'57b51d10a4d2fb17ef0f204aa53cf112e1130c21d411cdf16a84176d2ae451ee5f66ae6875cfb2e6a586f233d5ee1bdab9f235513fe229722a7d812afc4f70751a3d128a2b5ef452c10cd71f3b3bb19bea0af5ff729814857319441f69298069', 384 ) = 'cb84599cf288ffa81aa50e0d1c4dfe30777e1b79d82fa05b45707a2e7dd747cd81b1af269206579cc183119f25997263' as NIST_SHA384_test_vector;
SELECT SHA2( x'ca536a7bf66c8b1e451edc371699dc1afb79cfd06ea20f19bf6fa3ad510d12c7062179e4f8b1dcc86a41bac3fe3ce43228968f48e2b0a70fa17c66a988e126dcdc6173ceb9f9650c03482cd19ef4ed86e24acd8549244b226b10d2ec2dae8e3035', 384 ) = '8a740cb9d4a5432fa53d497ee3620b675b770ab29cb9c51a5a55eef75c7421b4e0dc2399f1e6bbe54690a88f8afc356b' as NIST_SHA384_test_vector;
SELECT SHA2( x'bc57c2803382d1deb56a146767ac80c89183382e01990bb5aa1d3d2391168ad6eaf768fb7d738d014f92b14d7f0595306eb7441622a49800edee0134492d82320707fceba902af2e0c95fe634a85727bde6f022709a09248752db9a71941c7e75cb1', 384 ) = '33a9b367f842da5f8852a0c4c94594db7283f491ddc8b1cfcaf24681abebb912bd44abb46c18035ef2e4b6e009939228' as NIST_SHA384_test_vector;
SELECT SHA2( x'cd23cfb189f7797d05244e2abb0db5d26d3ca0f0b8a5bec5ec2ff1fb1b70028970b894d6c252562169067d2051e272e74d3bc70cadee700912eb30e181f55107b7a3987bbcab7836bb5f86c811782d40a413a34c76f91ba17a233d9da67ed32b49ebc5', 384 ) = '2880eccd4926d1ccb4a364d0d2782af372dd22d2b99d3d66849aa04748687ae8e43898e01690bec09725642042442a1f' as NIST_SHA384_test_vector;
SELECT SHA2( x'b85559ebc62b0b6fa87e6a8aef273808037cc5036a7e59b54753d68a21f69a79e62da39530bbf6dfc6d7415f66debf73c2455c66c8d11a44260ab3ed0eed806936e1997b24ec3e79a827755aaa6ff511255e431a74791b52cdab110b0bf37860b05983c6', 384 ) = '452ac0db3a324b2e6e566c7455e08b898ac5d87b401bef9cd5f8fcba22679a63ba70762127d44ad4c54d621dda18ca4e' as NIST_SHA384_test_vector;
SELECT SHA2( x'2fa9d04bfab983c02abc09c3a30c22a4c0b086c6ae2f700b12a65d8df219118fd207dcb31d411b6dc7fc01b7312498064df3027d02c30561d220c7ceba22d5a859f96ad355caefa7fbbabe9e25482b5061dfc5a24fabd93a4bad38364c0a3a1d0ca903156a', 384 ) = 'be7f7895d6e7642f417141319ee4d2921ff385ac2821eb66f8fa4309de24d0986dee9040ec25a80f18738a7a48260374' as NIST_SHA384_test_vector;
SELECT SHA2( x'beeb5575701b32d3b182bd37bb0692d7b9b2dd43cdae7bf5576f5c29752b2cefc690327e74b578cb71512c5a002b465478d16bdb448d119a2f95e5a0df82696e9e03e24e61d371e702e8800fd1ee5fe04bf32f0e296400779d3836fcd86b3190cfae2d8e3f5d', 384 ) = '4b4dc610f079c44075d6b171efc637ae14777331bfe9cb8fbc2f7c0123b37fb978ed15adab3ddcf821cd5457fb996217' as NIST_SHA384_test_vector;
SELECT SHA2( x'e4a7bb1d0a354ced4b9fc7983c37002b06900ef50d920a3bcfcd132d0e0e95193130cbdfe83583a50f9622cbd5d6e7211d5d745824848ab764ed140fb91567f1c32cc81e8b242e3f69084ad7258fc5755cf1c92e25f9c24af55b663ec049f3db6141b7c43c29d6', 384 ) = 'c21e70712390ea83b033043f31e866b2c466d5371568104b00d788e6f1e66aab07a214484531e4d6293e7d38ce09539e' as NIST_SHA384_test_vector;
SELECT SHA2( x'2dbf241980678ef9c529d4bdf273c2d44dc5e36bdd5a96331e0c6464f9729102f24bf15fa41ffde16a232605605e6aa48a0a2475523d28d438c80fc1c55fd02cc0fb9170a57dbc1d539454fa05e08a4a83588b4f9ae99d0dc95f6a503d899bf00098a9546dc9f035', 384 ) = '266afecf77e96fb08c2daa5f64c0da97c7791e0ae23bb22e7427226c717bcdcd5aeced0d942d5d10990a4ab37a6c6cbe' as NIST_SHA384_test_vector;
SELECT SHA2( x'8bade35ccd57d6f8e2a3960cecf685c3787daf4b0f6efe360791ad219f00fe944c2b302a4d1eabf285077f148af20cb8fad802230ed88d2371c4c9ae52df7cc6b8e5049f154c8e041fca89f7db175b98faf45248696cdd0d245afc384b2bf54677e549054e68e6f855', 384 ) = 'b56d9b3094271468e18c7a59187c5eb1c29d3bf681c72941b13c30505ebddee94c004552cd766f69d734e2d82e644ab0' as NIST_SHA384_test_vector;
SELECT SHA2( x'd5d4c78a18de6c9070dba887c956e407ec435936f69e228f084e96e2414fd69ce910a249ef1a715796f3c01d6b42aa1c7a33b984c11dfcfae5635998249825358be6f2e769b0a8c70376d8f489f94cdb49a0e3b5231b9c503d46f013f850653d221c606d6de73a671f2c', 384 ) = '2c8050c6f7b38754ca49ea444852d09a41d785a05844755ad6d7b731016b96a9fac81394af2bf24a4ba174d5b5f5cb13' as NIST_SHA384_test_vector;
SELECT SHA2( x'2beec0efa2362159f8b84c089a0320ad88ded8e8f48d3cad0b4f18ec132bee71b6ece8099d6b10e6410cc344fe8b634d6af94d3ae4010bbc7070ca9ac2f50e9b9824a4a64dc1d928ab3ce9b60278baf476d0cab59d5c66634a701ea2a36675307a9edd0fdac2e2e7df4fa5', 384 ) = '833547cc4b44fa04763f5780be550528bc895ea70484fd53115993753236b514794a702b80bf50936b57093c5c0ffc28' as NIST_SHA384_test_vector;
SELECT SHA2( x'31dad5b0ae329c30ef6c36cc1d1fadf533638b9faae39df25533f7438a64384282d60f75024efee53b485e17f08fa43dd60ae2ae40d99194fba18de4772361942814c5082c2865cd2e71e4898ae72132b248b97fd022cd9cad2d0522d1dfd446ec3bfe5174ea5850908ccf0c', 384 ) = 'df5bf69680ba0d6cbbb7fb564f13e41725c0de4bd7ec79dd01ffc138d1e9806360004fd836276b8abfa73f740dcacead' as NIST_SHA384_test_vector;
SELECT SHA2( x'452faeebb6bf93bff2216f6788f66e2f2585cc300a5eec18bd3ca42eff30db90fffc57bfcdbdd05e11ce4937fde8a07f808e635bbda8e5a3bb6e91e55e877fad96724503d6261036c8f5f3d83fb67e0a6d2393fa568075a9847e22f2fc5ee3c8725921bfb9407acd7d60145234', 384 ) = '4c60377833fc16e4462001dd21a12ac0f0dd4f7f711f22595af6421f5f5f58d51e22a3b480bad1408f00868e9181eb4e' as NIST_SHA384_test_vector;
SELECT SHA2( x'6a253181a99b76fd9206fe4e25fc55def54d5a217339a16e6fe1150ddcfce291d4cb9267dc4f75b068b9474ca2220d37677c401992c92d187e8b9cf1c67bb0474f7d0e3b89d4413cf1925e20db53e3746e2be511f0dd6bf0444e1540b03901b5e423ee223892a24a367a8af458f8', 384 ) = 'd1181abb0c8d93a166551accff380396e5ac90144416766108907e9dec4c514219bdc7fb3db6ae68eff12bd4d5765894' as NIST_SHA384_test_vector;
SELECT SHA2( x'fc25ba418cf60566488551d34fc1e48246119bb0063739e1917aff244b047d986789a72f9f292bb228980205e57c45addb16438fe525d0faa807e0e8ca2254815f8213e1a4c35d1bf0325c7ee72ffc17f1d6fd76ebde47b51cc07db76a1cd4aecd5926e0058d42aa889c87c5bfa3b1', 384 ) = 'a4d8781fc35d998a62237b4344f8e1c26feecfba971adc0d7e09e887340cbe745778f714638571a813df1da0222e4011' as NIST_SHA384_test_vector;
SELECT SHA2( x'0f44a8a890cd290806ec8fd8d502fcbed910c4cfa8e1d25c1886480f020366374548ad610d63442855f39a4eaae04d0b32494ba4eebe37403cb00ef8a0250a2dc3b0c61ebca1a4b98f796cb2f3a135d3595b899329f8c4e94f4cbd62f65fa87293653b0726f01064bd654b2d39ac7cbe', 384 ) = '0040f15059fb0fb7ad066670f88f23fb2c640459ca4682547e1d910187012c5c2dcb0c0113b049b73499cb596b0ecedd' as NIST_SHA384_test_vector;
SELECT SHA2( x'7330de53e9fa3b47273102ec8b4c22841ebc8e421a6ae65ca9605362f0c6b3ce4c11f6dcdb77c79c3fa66f459eb5f7cced5b8db56f5f2a2a784f714a7775d9c333070ea3559e956b27e9af659ba381388fc271ba4ff2d3055c41c5cd6c1c57f1b17af04f5e57eddd68648af689fd06f18b', 384 ) = '95f2071081e32a72f1070ca99b9aeec8ee3a2ed9e5fa2d1cf5f16aa2bc98f5e0f9b5a6008cd2ce75e080d1b385df0782' as NIST_SHA384_test_vector;
SELECT SHA2( x'95322db3ee47d16157f4508f0d52f3b1c31b1afaf2b12e7d7162d69245ea6e7bba39b547b377c5f73e4649e06b47ea505fdf0a74a43bb579c391d4f215a9a47ad69d679a7bdd5aed4575e68117931a81854359112d7e507a4a632b8786c4092f10e4ad73ef7f768a960b913cb83e6d8c5dd0', 384 ) = '21289bb824ff515e45c237d1c79891377f04c40107e71e1db95a9b83b088eaea76e7a4f3019bed4a759f236b2371b76e' as NIST_SHA384_test_vector;
SELECT SHA2( x'845b92a5775471ed2fb6eae84e70bfa0c28184a8e0bb5403b7c6c2419e6912eb1005aa21ba62c382d1ae644ca9c391c484a9c0d9a85c8c04b4cfad7233302865726ec3d88ff9bc62d3c9ba5c41a104466f95f16795caa0b4e47de8f319469220519ec6101fa0c454dc0cd5603e9180ed2c4c00', 384 ) = 'a43a1e67855b8d2864e8c8b9eea2875f5ce21f33eb2ee9048e90a9665471653330df8f8b5209194125d8e12239c2d56a' as NIST_SHA384_test_vector;
SELECT SHA2( x'6a34a6d3f5032aaf62f4eedfa3038eda5d0efe173fdc7b2e935dc13a12337f81fd72085769a44b3fdb110554143d35e72eb1d16ae8feb78c3f00e6a63e60ee56165ca56971cb1cff045bd1e9631e26561a4512aff92b17bfaf9574179b389bb1de7be5d3b57f8536065cbb6838ae4a6f48512baf', 384 ) = '0026006d0a5b8f44291f4a8ff8628d8dc428544eabde63c6be478fdbacb6215a4f35bc4e1dc66dacd1020d3012bb01e9' as NIST_SHA384_test_vector;
SELECT SHA2( x'ba362b818e274a898553d9eb777e934416e3df2f238ea5c6e2076166cb3076b38270c4dc09117c2135e733925e3336195bc61ebaad6aa41afb7db63ebfdfca963e0f723abd903073f2928c7db9ce658b08b2850c25be782d162e9d9f5ad97d9ad6595c22126c0e89a59a0c35ee18c7a305ed3cacf1', 384 ) = '13229cc315e40b044dc9953a5c460b627113d5241885c37f26801c3aec167a3986ab60cdb4a41668c514d9df51a18405' as NIST_SHA384_test_vector;
SELECT SHA2( x'17a761e66e007e550ab117c35550fc0fc34d6bccaa7986e855c4038b544b26421592ec5db90d8a9620e615f346fa83edd325d2d1edbf876751665ad2a2fe30b700f749a1ddcebba40cd71f411b398a8ae33abf865dbda2d7b808f09aa8cb2e8f005edf7a834bfac9f70c9b767c16f92f1c1698b5a37a', 384 ) = '60044682f7c4736dac3652052ab1eb5d48a24fa94e43b2a5ce55db1c9e569012a392ee690d5e17384631aba65e7533a1' as NIST_SHA384_test_vector;
SELECT SHA2( x'8ae7073088b58154a7f6257657ea7e0615a7a0d834c60c7ade5cd4c5562c00b27f1a2f6fa2e382b26c0cb54e36188f048afe7d9be2da7a32b2e331d6a99d66503450924045b8cd7052fef162a0e7fd2bc14cb7845cca961f2cbade374b630d6bb16f76ccf79c2c3561b421db1cbf8f24c47797bd2afc29', 384 ) = 'bda24dcb1a3f7f52addd1baa0677918927656d7b458c11034f2166b2f8d72db2d1101e589541087ed9c72191260f8318' as NIST_SHA384_test_vector;
SELECT SHA2( x'7b0f2d2f4522e57a4d9237d8778644360fead8815db49c0b796c8d3161ebac3b4963f783329f99dabe8c5e2743f969511e9b295f4a5489de31b46783c1c14812c3f34a7e68835a5225e6a64fc1945557ad0d768a931e37ae316058d46803df3890c90c6a0f558fab2aa6f99a1bdf71106349a848619a0f43', 384 ) = '5341d46e6d469718f54e0ad44e5e8cbfb091d9a156eaa1d7695764e6fd70770933f86090701b0404c0a2c9944a49c7f5' as NIST_SHA384_test_vector;
SELECT SHA2( x'b98c44b9f1339dfd730270012ebcc5bc0c317aa777b4e5cb1cceb91eee342e0f6ef75c602afbe83484aae369b5e9ef27124ba4b98d85329c7e2347d6a479338966db4ac85f1189a91a057d9c1abf61fb1e9387e2a399f940a95e5f2ebad9238029a1d49a985dc886bc7b06436525625fb870eac8bfd781df25', 384 ) = '9bec1d2fd1e4ef91dc70589e4c50c06673b134720f1e0faa14a94c65fc6c3ff6c1934768b832da6d6342800b46c3a558' as NIST_SHA384_test_vector;
SELECT SHA2( x'48e12a838c285b198e16f759d75ef1361c35b9316eb710d8b1861c8d4fb4b7892ee30d21dfaa6647183b40536443a1041912abc18afc71257fff09bbe2a6e306bb2c58c55fe58674e3da5c16d7b3f13231db1a1c88de3b7583165df590868168d90634f774a164a9d93b722a9a7688ca4ed72dc8ce2517d1a512', 384 ) = 'b6efc213b9396389f4ce18e2cfd22733dca2be8c611ee5b94a9a7be1e8f9c78d7736b49520d8ba9ee09ce16ab76fbba0' as NIST_SHA384_test_vector;
SELECT SHA2( x'a34dbe4c6f53b1a60cba0260124ba5b3a72395bb4664bccdbf2a130a7fc10a3412152ac1e669f92e524c1e96d6c9c583a5df45046031000025fd8bc9c85210f4607ef06906c6acb6d95b05a94689621d863073146778140650c174797fd976d29672576b56d392e5aacd00c0e7f1442852006612e3a3be88485c14', 384 ) = '723f8ef0f28a234f8dda9f687ab51b2874b91a69ac7a20b107064e7b7c87c849f3ea39471e11ba43499d458e9044d4c4' as NIST_SHA384_test_vector;
SELECT SHA2( x'd800e0a7cdd96a08ecf6e65dd4ca095605237cc6970932a62ce9fa5d23f3503f0ec079536638cf597eb3590bb65e9ea4f1e1bb9f493eb4c101fc0859ba8688c7eace683b8b3597bf10af4c789d22e2287710e5f8ba766d754af4aad80b2dc18a5571d6e7a29a6a438a33e82af2e07aec80f92159527905caef170a61', 384 ) = '0e1c22ae4d049d23cd7b332359a246e199d4d9b417aae5695874d5cd9ed61d76d2cde81cdb2beac9c4f1d53e00fa0c7d' as NIST_SHA384_test_vector;
SELECT SHA2( x'cc8470e78492e4ed8598fd5f35ae83b4c49a37781bf066930f7ebdcedbe65f93cd8d35f43fb485f0c9e5c7f1b591b498b3f79fbdce4708b29f086fc8c1b7661585b1ea74e653f3ccbf5f4a963ba19b998dd3cbf8e2bf8b6f94a32edaa1d9b7f75bb7376c61b5560ccdcd2f56af28613ebbf662313e9e17535717a20b63', 384 ) = '3ff1a9007cb18a7e8be1e151ed4ec424bc1c813ab05a092d655d48e69a3cdcf395d204bf3979b0499b1cb18bf80bf8ce' as NIST_SHA384_test_vector;
SELECT SHA2( x'30b06afaba1d3f66f8213d8f52cf3bc3727f3ebeb0739271ceba1a02e655e413a0990047a8d4930260332771d2e345cbe87746d6df8a66acf9a51abf7263a41bb6d2e4ebd11d713f2768e80c65fc8474b7a4ef483c5658ccb716c6ba8718ac89d925bdee1c3f01a4b5882969f460204947cee21eae2191586fd7c6fa0bbd', 384 ) = 'e399f9c298dffebc1ef90faca476ad2c478879705b9d988f66f320c7c8459fc6f42ac53197fddf3b1654157e3874e8ed' as NIST_SHA384_test_vector;
SELECT SHA2( x'9551164bd1bcb607023b4572bd5c2e19e7bf9b4a28c08dd69d562c15cd3b5c2bdf4e908a0a35e3b84c4665535fa8b252e9b5ca8df3a31c809c64e44b0ecab7feb2ef5c14a0d4de3d5a48df61b90c2fe127349e200fd00e4292cccc337c1520eb76fd22f17de1d01e92095ea4b3cfcd4f0b04bf0a668f8aa4e7578bd4fd64bd', 384 ) = '4c41ea97b719f84239b3a19f96cd19e39daed16913d1d8767eaba572e29b0cc24bb864a4725d1f55440a5df7c35ee686' as NIST_SHA384_test_vector;
SELECT SHA2( x'e06e21e2449ad75182808668167ca41150711fd4a8c64ffb51ae29f411adb5f84f58c2ea6e5cd88259c16eaa5f705d2842f3957e8a7d0e0e1f2a028217875a6bcd556628338ad00a6999d3b68ef3a8cad6ce41c3dc253a1e3a000dbd58f5858d81ef75663c2ea932d98f1d524a0e6d3d34898d6a46c7ba71cab8b06d79fe1ea4', 384 ) = 'fa707a7639a6ec82ff72db0490409ef3e8cef1cece79f11600cecd1f7ac71c13b09975f1e2a768840dab12863bc69b1c' as NIST_SHA384_test_vector;
SELECT SHA2( x'8f', 512 ) = 'e4cd2d19931b5aad9c920f45f56f6ce34e3d38c6d319a6e11d0588ab8b838576d6ce6d68eea7c830de66e2bd96458bfa7aafbcbec981d4ed040498c3dd95f22a' as NIST_SHA512_test_vector;
SELECT SHA2( x'e724', 512 ) = '7dbb520221a70287b23dbcf62bfc1b73136d858e86266732a7fffa875ecaa2c1b8f673b5c065d360c563a7b9539349f5f59bef8c0c593f9587e3cd50bb26a231' as NIST_SHA512_test_vector;
SELECT SHA2( x'de4c90', 512 ) = '33ce98281045a5c4c9df0363d8196f1d7dfcd5ee46ac89776fd8a4344c12f123a66788af5bd41ceff1941aa5637654b4064c88c14e00465ab79a2fc6c97e1014' as NIST_SHA512_test_vector;
SELECT SHA2( x'a801e94b', 512 ) = 'dadb1b5a27f9fece8d86adb2a51879beb1787ff28f4e8ce162cad7fee0f942efcabbf738bc6f797fc7cc79a3a75048cd4c82ca0757a324695bfb19a557e56e2f' as NIST_SHA512_test_vector;
SELECT SHA2( x'94390d3502', 512 ) = 'b6175c4c4cccf69e0ce5f0312010886ea6b34d43673f942ae42483f9cbb7da817de4e11b5d58e25a3d9bd721a22cdffe1c40411cc45df1911fa5506129b69297' as NIST_SHA512_test_vector;
SELECT SHA2( x'49297dd63e5f', 512 ) = '1fcc1e6f6870859d11649f5e5336a9cd16329c029baf04d5a6edf257889a2e9522b497dd656bb402da461307c4ee382e2e89380c8e6e6e7697f1e439f650fa94' as NIST_SHA512_test_vector;
SELECT SHA2( x'c197f08557e421', 512 ) = 'ce69dec20db2e702f51c6232ab79f0890d6f82aaed54d8d0b15d8b02095957b4442a23b8d164be7b1f3669c7981b58ff6cd853149a625771bd666b19d8f0c35d' as NIST_SHA512_test_vector;
SELECT SHA2( x'a90596a7112d3b9f', 512 ) = '7c42d9b5f5a215db32cfbff9e0e57716e2e4b1a7f87a7bc8121229c6d1fe5989df3dbf20fc71281dcbeb55743bfeab9346e7feeeb07e3cabfb2aaf6cfbc02bfa' as NIST_SHA512_test_vector;
SELECT SHA2( x'3ae1953415660623c0', 512 ) = 'ac2501818c6d49f5f20534fbaf751f4d6f7288252298ea5a7011f2736200cd9721ff64ad6e672b08bcb2f463a251e9533c3f77465f4db3dd69be1d8b2c52937a' as NIST_SHA512_test_vector;
SELECT SHA2( x'2bfc3a1b9cdf3485939b', 512 ) = '59dff49557ca098bdbb60cf9934f038890df27431b81369d0fdf92d22ccbbd3a90bc5d060ab2e974af784872e4567d4e2c42bb6375fd9a4ed3a434fc9f23a918' as NIST_SHA512_test_vector;
SELECT SHA2( x'50f3b7d106cd77e9eec0d6', 512 ) = '814a68eca10f8861b7ac73d9d10a83d1d2f546dfe4c989b49fe9f17cc27d2897245b02f4bbbed4fda8d230534f0caaf2556126d69095e9bc8a4bf5eda4c351f8' as NIST_SHA512_test_vector;
SELECT SHA2( x'3f08c108cce3eaa5f3bfa6bb', 512 ) = '8b7acaf0d36f877ece73f9318b20828fd79d2a3f28c71069b61ba88d455e4928e9744029bc7f12b417700fd195ee49ef337877bca76251123dd72365f10e36ae' as NIST_SHA512_test_vector;
SELECT SHA2( x'1e1c81a3f9b48383e68487560f', 512 ) = 'e46861bf4c6b85af4366d6917b19f51efe66eaff16c7865a28d267125f8849244fa04b0b07f07274de2ca150a0549edb3628b87d4a5f73791de0930a702f604d' as NIST_SHA512_test_vector;
SELECT SHA2( x'b48ada2484dcd78e6617c724b537', 512 ) = 'a1886c390fdd1503a6659f615403d0df814a50bc27854836ea40c90a04680a092733ea4deb7edf2d8cb6a35cef40f20d7b0f9fb0e42305087cbd813aabf599a6' as NIST_SHA512_test_vector;
SELECT SHA2( x'bbd0a4de4250249c873f5b289159a7', 512 ) = '90953e45ef6c1fe975805ee62ab6431834c0934a81205d7e089068c157c9e2ddced188d869659457788f472f777273c76cb97a00807c83a769e651e11fb59f0d' as NIST_SHA512_test_vector;
SELECT SHA2( x'cae35cda11064e34b54647556c105523', 512 ) = '72ee08a00931be0bf39f68575c256a1c5661a1b0ed3599c684be4d1f4412094178294773dd23a6adb8f6daebed0683f5750a59602a7244a667d5d8f74cca5b18' as NIST_SHA512_test_vector;
SELECT SHA2( x'625656f0bf2e3f1dc2c9c4d310c650e016', 512 ) = '47eb9110c93ff62130fa987478cc72b403e019aee6a1c20d20a7d5122bc1ad9d97dbdc40346aa9c624054f76ac7fcefb72975ed946a4c1af04f82f5c137439d2' as NIST_SHA512_test_vector;
SELECT SHA2( x'c7b15d4f0ace943eba8c3af2f51913285149', 512 ) = 'b0ce8a67c15c98176b787459fe2f1bb5fb01d505930805c0cd9f363f24f5b8dc4a16bd4c9c8ba354f726ca60cccc28bc540819ae1bbe50f6b6acfeeb86f03e88' as NIST_SHA512_test_vector;
SELECT SHA2( x'62149e4dcc5b79f473d115629f2da21d8c4ad9', 512 ) = '15c77f321a179485aea271dfd0c1be284ecac543fc96a478a0ba93fb640ee708a6367c7123d35cd39be323c9beacb42c63046d7ca8f9bc749f800dde0e4d0dcf' as NIST_SHA512_test_vector;
SELECT SHA2( x'5b9d847b7ef0965dd053a4d2da3b1e1637e71095', 512 ) = '9681299a52f5949e08b35563d6d35e9f72169f84ba76b9c01be6fbc81dee6000134e691a9b9bd7bc8940de1fc7e173261683b5c8ef7b0fc5bc014714971b0146' as NIST_SHA512_test_vector;
SELECT SHA2( x'1b1045583ca3e8a0116521b9bcbd4dd7b613c34b1d', 512 ) = '888e6d7fea0c37b40ec32852879131cb0068c580e4280e80b74d204f9c90ea3e943fd27cf2b7ba3111340f8be68b5af89a4b5086de075de25697b9272e0c7278' as NIST_SHA512_test_vector;
SELECT SHA2( x'938d2d59a18fdf52c343b632301344d6a5d9c70a07f4', 512 ) = '42d70b8a3bedcc1b23f7466f34aac87241c807a87283686cc15cdffed68a257dce74bfa708cc684f1c93142cbeab751070e9852d368a378495e6ad9f8d27e873' as NIST_SHA512_test_vector;
SELECT SHA2( x'77d59ae1bbd09376bcc9f5ac46ee834bc979e07ca5e2f4', 512 ) = '9c229867a7f26055471f0174fa141f8a5e6ea6a11fc9efdc6cebac2f243467804cdc2e617be5a99e32e10a00550995f728c72c4fb25cb2b17164058ab4f7f3f6' as NIST_SHA512_test_vector;
SELECT SHA2( x'370995549d249c7eab97a577c09920c3df6c545fa885f4ff', 512 ) = 'bb607aa94d04f3a81b6b48fdae601e15ba8d43805f5a0b096b843ae6a2b25ba58b8b4f78257b8110cac1e61d27c01a2c6e3738cad3a01150cbbc332b8ad42dd6' as NIST_SHA512_test_vector;
SELECT SHA2( x'8a639dcf06aad53bc991d177c3d7a1661c96431876790f9d72', 512 ) = '5613c1ef219d4de9a3dd4081bb121671060616b3ec8b5cda50361c3d03a362e2c8559bd8cf421834109684adcac9bcfaf6d47e02ed3a39cd7bc2f52d0c81b329' as NIST_SHA512_test_vector;
SELECT SHA2( x'9f311495c97643482637b51790bd1e3086571f05c4a173ae1605', 512 ) = 'ddc9b2687ab1d99038032deec57fed9f19e69fc2c550d9074099490d1e72751fd95cba099f5dc9c303a3b3e22b949ba8a04d26de046e14339333cc31e78f4f7e' as NIST_SHA512_test_vector;
SELECT SHA2( x'69b522dae987f8b48864744dd571b39efa0051229011dc80b81989', 512 ) = 'd2f7740090d249237cd1acdbefc584b79aaccfc0e90e19a9f822f9e041e519928e5755a8ce91b4ca67c1355134e22a33fd5cad20d35f3fc58415fc12c6602acd' as NIST_SHA512_test_vector;
SELECT SHA2( x'c9260d92c68ff1c5cae8f7c3e98869b66f13aa8b6cf1d5ff70ffa1fd', 512 ) = 'dcc1967130f155cfe1422048b8a7b559ce90b5182528310f9fdf93dee9b72029bda0b5a9c474c48c38ccd63915fa60197a87043fd9c399117dbc4c47a4ae5389' as NIST_SHA512_test_vector;
SELECT SHA2( x'baf280aa618c46d1b4713d42a324e34fc13a8fc33e7703261534443c86', 512 ) = '40f3057c2e02fcff3915744d2a87a7cbed4d1ace0a62658694a5c0ada892dcf25202a5821f37f4842c4d631fb0b5795f3d252e6ab914556801ec99c4002c0510' as NIST_SHA512_test_vector;
SELECT SHA2( x'9f91b4d09ebfef181f76596bb060085b3323185cd786460f47d6bac72188', 512 ) = 'eda1dda078e4245c51e837c2a8360b1440acfe2d58f7f32ea9a63dc2105e80ec5e162a23d8041cac382de7464c166e7162c620bbcc11d14d8e9b3cc88692b5f3' as NIST_SHA512_test_vector;
SELECT SHA2( x'376549419a41ecf6e1776679cc9b87a4ddf70a9daf8880fd894a8a3233b64b', 512 ) = 'a971341f79a1081653952b717c7e18e2e2289a4551cec34eb15944f28abfffc7b23e6121ea52efdd4f5c615414d2a59df02392c4740d8f678a773f1e6cce2fe2' as NIST_SHA512_test_vector;
SELECT SHA2( x'5f264a9fce6c0416c3c399c6a2912a5f33125616a24a5b3cca3e7e16b263aee9', 512 ) = 'dadd0e04ad21dee2937facaf3671e0e026b0d947b377bab623ad45e94872ee8767c2983a10f53f92072eabf9fe3b41b12211e442763274a24f553c658bdabeaa' as NIST_SHA512_test_vector;
SELECT SHA2( x'6989bf1032bcbf82c96f7a140042dc9ba9cafb5d439be5c6daa69b5d28c65df600', 512 ) = '0044e76560daeedebf0b72b9be8a1437f5a9937e1f6ec8efa0bae0a490808e9d0d4babd3683b4414baf0e033c36b7748635ef9e745cd1dbab547af8e287d9644' as NIST_SHA512_test_vector;
SELECT SHA2( x'4edbb49bbf3acb02ce83c5cc7f83d2c386e873ada14976712b67277cefb3c5633a10', 512 ) = 'fbe69d13bbb3b9aeb8fb67cea126302adf2984ed02168a13519dca66e56eb0b189587b3b6ca9f14efd8e0a434db7b0caf337d62b4cc0752ccb942f3ca29b4596' as NIST_SHA512_test_vector;
SELECT SHA2( x'f0b1231cf60536f768e62f79dae86374660bde91a2e2fa94cff531e2536530406ace2c', 512 ) = '9bf2258b1ce68fa5982c296fec10c8343fdf5f995e82ea985b93f5437ab48e6615c7b7e9847c3c545ab909d5e54a6c3ea0166bb0bdfe838278dfd9834f5d25b0' as NIST_SHA512_test_vector;
SELECT SHA2( x'785db29d4a665e802b68a406cd21dc776ea84e4daaf5a1df93a4973c03f6f75a3119ca70', 512 ) = '6e659b4a07e3aaaea4b49c211a2720f5db8fc81d9749c0a8c0ffce189de896cd3dcc1a1b6381e3d82230715840d4c6ada741d64bf76234ce98b28b2afc96ad74' as NIST_SHA512_test_vector;
SELECT SHA2( x'8efcd15f3ff1156dcd64ad17bb1566c466429842f2cbb40a84941dc6b12b391037abc77deb', 512 ) = 'bfd174600f799e4a9aea0739fe5b4deb43baa809ee46ac27f59ab5e44d10f9a69c81eed24cfb1b4c6e6fd1c51925fa0b380e5d0cc9f36262d6e0c0cc1abd6331' as NIST_SHA512_test_vector;
SELECT SHA2( x'807eb33d10722e025b01739f82d7494d242cdf137f510df5d888db691d19470acaa2439009af', 512 ) = 'c2c8abde43c0c73fa9392e7b262d453a3c0ee4aca293dc866defe6e07c0d717319eb3fe6a33775ca5949b20617df03152339af03bf89634d9865f7f1eff633d1' as NIST_SHA512_test_vector;
SELECT SHA2( x'282cd5ebe30187854c5fdd6b1ab4e49143addc3dc0f12561900e6328ffb3dacf28211ab6b9dce1', 512 ) = 'de42e2933c0fd240d4025dfea77fa4763b55620230668acbfd2e6a6426c2d6446de71976009e77f7b3e17bac91259902f7dfe4f8142f7e65008b6ee2207268d9' as NIST_SHA512_test_vector;
SELECT SHA2( x'4fb6eb7cec250c1763280b41b215f89791137212a67c758afc867478b223a800f025a72f1fa63881', 512 ) = '99ece2524110af64cf89eaed97b520343a97c859e3873860c2077b06e33337f0886af348bbdba1b41c0366d8a09db1ce2fb726d5d282525fcd1cc45aaf0e75dd' as NIST_SHA512_test_vector;
SELECT SHA2( x'dbc0d771769987ed9c9a72a44a5728f929653d3d12c9efc7d1b109472962085719727b535e37b06b39', 512 ) = '1aac04e1cc461ca665bf12a578f8f32a6ebb7725686b5a6f461a5a035dad6d7565831caad2364f063ad73edcb210bb2fd04c2539c6eda849ec79baa934d7af94' as NIST_SHA512_test_vector;
SELECT SHA2( x'b8c17a3fd266ed0374f61c19840f3db5f819271c9029acabc5252a1bfd2a5d03002a779eafda73cff4cb', 512 ) = '4800cbfbe54fbcd8c012180ccd82bbcc783b3413cdec87bd236786ebcb40eb3ad23f509eec53b23c2655959a0a2c53e81b5f3177e6c57883c0e09b48a09050b7' as NIST_SHA512_test_vector;
SELECT SHA2( x'7ac3e7ae32d0677b28165d829a6b966b5fe032eb25f40299fe0735fd1b1134ead693ca0ef6ce88c82f3468', 512 ) = 'ebc398731a33113646c7c4dfc01fb0aa35214a2de32cbfa99f300b2feb1dbdce203fcea6625b7c2a7205ff1b08096b29b58581a2ea7326163a4f52cdbccd2b44' as NIST_SHA512_test_vector;
SELECT SHA2( x'4c2645d588b606782a6f45c3725d69d31a251115e6494cad7ca80c197644d811b648c2b2f94a99dcafcd5fd9', 512 ) = '80d1d9053acc378f88f37cb828d3140a16f10810b3a515af301dcc1c7f030d752599a5f437bcde5ecf288afac9e1fb6c9a5e365c82afdf900a0eed6517d4be38' as NIST_SHA512_test_vector;
SELECT SHA2( x'85ae73d64a09ac922396f80bd94d868a2359e3361bbe0fdbef3fd6e9d97f5dc05166fc2a81c64b29f93f80f4a4', 512 ) = '6a2ff2ef58640bc69dfbff046c6d8fb4a59a85dec77bf06346def8026dfa954e07992ffc364ccfe179e2949826b65db58dc53a05f61c5d6a279193203de9a2f9' as NIST_SHA512_test_vector;
SELECT SHA2( x'b63a627c6923e0998c8c789f56dac741fe7c567cdb7bd4ccca52a39fd001970a005dfabb9faad32f876b6725c979', 512 ) = 'fe69011bfeb12b7987a1251b225575448d22fb46ca08e909574b96a1611433e0109619cb4c1489e101283d7d2c2dc163cac3ce2416cb06dc27820818f482b3aa' as NIST_SHA512_test_vector;
SELECT SHA2( x'0261fbf7d72dfa185d1fd999c17e588ae37d6a646505e7ef03b581622228f9ccab7693b419fdc7fcd161390cb2d1eb', 512 ) = '29f146b6ca892586f198f2ba3f58c67d17199e34c19ac32e284047181d57e6bf4c176eb6ee084171ff2a96bd4bc312014351326ea3387e78e78687ee3127426a' as NIST_SHA512_test_vector;
SELECT SHA2( x'7486acd86f8813a2583ce981d1cc8602864594b611ea132b1bce9f1cc4a2f6e545cbb539d4b86217c972affafe74fd51', 512 ) = '65cf4354a97b963597884f00701b8d4399e9b80612c3410bb223ef4523dd9ee19ab348e8a849128377a6c75622ef06e844b2b758c4aefa5d28c46d6e4dc7cba9' as NIST_SHA512_test_vector;
SELECT SHA2( x'c33fe419b91191e51dc9fb32d40b43701e63d81d11e3918a460df9e1d2f3ea67779c5dff1caa80f07b3a09e71a0cca407c', 512 ) = 'ed5c3016c805319872023a70d900cc8a301738149ea83dc130a6ca19fc5348b2f4d7fc3b456d0cda749a72da116e6491dda0855ea7aa9b5bab9b7ce5efa423e0' as NIST_SHA512_test_vector;
SELECT SHA2( x'bd50e2fe1f8f39f96e2044def04afd4c16c01bb1ed7694bab5b2610ece66813bdcbd40f023f4b96e336b9a39cafc2713f68b', 512 ) = '729c1246e155e8b36e92a6fafcdff556df95e7c131c65df68e710b5f04f6552914ee5aa2faa33e8c5827e1781c5af5320f158cebe481d7d0ac54be07c865ba39' as NIST_SHA512_test_vector;
SELECT SHA2( x'5178db5a599b0664da75988433807d0a44a73d6e754220e3f948952e54c0d4b91a79c3e3fafb169bfcbdbb2d0799755ba67cc7', 512 ) = 'b3723d26e481feba3e3dbae2e36d9b29dd8636d34570d7ea3d6bbf8ce7a254ba2677107fad2decee62d8f27728d9cc433cee34e42b2c4f473153f697145684f5' as NIST_SHA512_test_vector;
SELECT SHA2( x'e42a2a5e142f98e06ec42f5c78684269c4719c3317a4c5b8c90381386fe69ae6b84ddfe495756d6e9da92d56af5b9eb0d973d5ce', 512 ) = '5f51ff37bb70ceab5c1f5feb33f4f6ddcb7545d22249cff63bbe1a57be8e0ddd7d86131306b599fd8bd5a044daf9bcbb2a8c80eef2079bbd377e0b4acdd408d6' as NIST_SHA512_test_vector;
SELECT SHA2( x'550495b8bf8bf10bca9a70cf0599a6cd61c1bd22da2e2def5935c753d9f7f896c9364ca7b26831c91a0afe89a83733f38979020511', 512 ) = '4cf0a13f66ac155088a8da8a344b1c4c62ef13ef0237966134345abb11dd0c456f25710ab13148510a6fd615e1863970e8277f45733b95fdf627a4321a48c595' as NIST_SHA512_test_vector;
SELECT SHA2( x'b6cc4def48738118c35fe4bab82fa61ae8efb930fcf428aa7606aa34e8c577f763455a5f33fc0722c9deb07ef9c6d3c26618560f3aa4', 512 ) = 'e04a1c30b76920518af66f5db87d7642fc1ef2b903e45a8215bf1a5b6de6772427d9b576329c28b3262ff0c1802dc0e6c7b2ac21a0df26a867abf509619c8403' as NIST_SHA512_test_vector;
SELECT SHA2( x'143c7d79790a56697dc803ec93e6c68f27f6761ce9b374bf6843e167e2b90e6f5ade347eec3166ac5e2cc3e6f7c9f0939445c677f82447', 512 ) = 'c9e076e1ea43672b08036e87afb175e32013da88408c92e5895165fe31a1c02d09c6246fe17e9e1696614e28b53ac0a6c50ade5f10949730b98d110c92cbd9b6' as NIST_SHA512_test_vector;
SELECT SHA2( x'bb9e6086c137d0c68e6ba728f8c516a65b3ffe303d58b1593266fd51fe2e6713fab2b4dfb94aaeebeaf6245680f3335d118cc4d17c3356c8', 512 ) = '1c0294a68024d098e7fdc14490a34dd579f47a6abd96acddca73a450dc608a840cf308a873376b6917e17c237df0ab76a736105734623e72024b41504e0ebeb9' as NIST_SHA512_test_vector;
SELECT SHA2( x'8dbe0cf088e68bd30156ebdcad3cb932a69bf8a11c36719948b04a7aa2f1da0e54ccbc57eede228c5bb96c5e1442fa7f93573e650bb5154c56', 512 ) = '77d81a877dab2228601a42bce6839f31b21e2b7964c308555a5462516b635e0f4d4d56b39778987c24b35f666b1667aafa4ecb3784d2ad130fd9882ecf1461b5' as NIST_SHA512_test_vector;
SELECT SHA2( x'2de3f31fb5182e1cef0f982d0e001be75dda7753d3877f4fe8718530a84513ac06f7dcf87206f12dae0138f0dd4a1b52dd1a7df5d6c5f271133f', 512 ) = '588da105790cd974ecb2988ac398a72ceda9c5bcde026877b67b21443acb4434b78923a57341cb3da465b44a21717c42603bd904e2213b562c732342e26e61aa' as NIST_SHA512_test_vector;
SELECT SHA2( x'c7680a02334453cf17fa4cd27cbf668e6cc12447aa0d710aa0b037ed991c2d9830cef104082e5683beb7ff011c572d899019d50bdc01f65c0e3729', 512 ) = '94829820a81040b549e89e7df9ac1d99851d57805a95cfd4044d09432f9f3abc803580a2397f38231ad391a1634c2f879e790f6e85045dd972dc080e3e7bc1b3' as NIST_SHA512_test_vector;
SELECT SHA2( x'ab1d93fdd1d247ad983728157e634612c12d6d5223e204aeea3935ba2c884f9a49376817b97546f2082b80771e2ee056c4b90caf641a656c10ab30d3', 512 ) = 'e7e13c2abb76234415acaffa97ff804f22f20c9ef692044a00d4d49bf656963ab0770d19640081dbc9389d1382bad4fbc3dcd47fb1da671d0d046c34aed476bd' as NIST_SHA512_test_vector;
SELECT SHA2( x'd3ad500384e30bf680afa762bbc558be9f7281ec53d51d113d4b5da5c62b92c65db44ed2be43c63474c97b7e9c7d1ab9edcea0f8f59cc134a5a78b5310', 512 ) = '54a49b06b483faa6d34a8e1ea7ff5bbc44af9bfceba30f62993093e0bef1134ddef01355b04b5b7678f8446b6cc9eb017d79723de360ff9c6a0adb3679cd03d1' as NIST_SHA512_test_vector;
SELECT SHA2( x'9c542e4dd9a660850dc22a081c07453f233148f117726e00a9c59a536d7f98133c26a61ad78733a8cc03e6589e2ae253208b49c422c9fe8c4ff2b036560d', 512 ) = '8377f49071ee63696d231d960fc8f37f4a7751ece2121c4f59e00bec6a38f19148269e385a0d66b10246d3837a7eafd259dfa827fa0f961ff4baa9008bf81fcf' as NIST_SHA512_test_vector;
SELECT SHA2( x'7bdee3f83c1af1cb0ffe6f1235d44f88d2436f234f211b8efd88d4dafb2c4f7159ebc14b7da65a64c6500f6d70449dc1b8dccb9c403fef87b47ab317aed319', 512 ) = 'b908c46311cf787a042a54756dc751d995ea57a76624940f70a18ae369ae82c9ce61ff819dbe95f2dab0886718055cb3a39e39a969277205290fa090d3d7fa6d' as NIST_SHA512_test_vector;
SELECT SHA2( x'095c7f30824fc92858cc9347c085d578885ff3614dd38ee7ee94a0f44072c877047ee2ad166fdba0e744c3ed2c2b24c9d8a2934648dc84d3be666302110ae08f', 512 ) = 'd5cdaf83bb4a27eaad8d8f18e4bee9c25be949a761a0fd0fb2284cab143cad60beb5688734b2f81e9e2d640b425fd32ccb3d20d02d63c2c94c03ab3d9e7d9b4a' as NIST_SHA512_test_vector;
SELECT SHA2( x'baf66cf83ab8a22878d02194b7c56599717cd3db4a594a8942a7fce32e3a7cf9695217b5c7c3681bca5327d0196442d92dd32fa64e1f804fbeceb81d340c5d4c8b', 512 ) = 'f63022f528910ee310028dfb0782db51b79f4b8063543f15eb008618c50f9b8721603f7381baf083b34beb01cbb8d985db3b8e1eb53854ce3bb62ce7434373b3' as NIST_SHA512_test_vector;
SELECT SHA2( x'aaa20338001d524041919bbb13926d0729a099c27c599598d8ec22599bd12d4fbab8f3ce04bf690cabe7db3300c9d3b57e853ce00afcc7b2793f8eee5346f86fd6e6', 512 ) = 'af4a2fc9681166fe70d4f0fb8d219d56a1f4ce532a7db8f94c4432ac41e370295977dbb0c4e356a8d2b1d791d513029f96d144cd92f45bd4230cda84bfd04a69' as NIST_SHA512_test_vector;
SELECT SHA2( x'8cf929dee0a854f7071f7062c911338e298655e0462f97a983f60455e6da77e5befa5d9f89efbc03145f7502e4cfc66bd5b912a601dfe5a4e3de3316bd06e0dd366985', 512 ) = 'f499e9f1b19c614857b63bb44c095cb19b7cf48c5d6e0a6eb15cbe0eeb61e0bdf7bf0f049cd3d146748196718698248360a174f878113305c6633f10ddff0b8f' as NIST_SHA512_test_vector;
SELECT SHA2( x'47b8bae735771d17d740f537bfeeff1d4012d80379e81d238e89d1843961ff1382e4a0f5ca7dbe1c0ec7da186a008c30dcbb69b24bd42987c8a90a0a13876f1b6163cd6e', 512 ) = '6869157dbbb2117c0cadbd3402203fd7ccf22acb6a85b9efda4f3d3f54903a65b39260bcf8fae978f1559492113081171b7425bbd15b40a2a1c7d2557fe7cf44' as NIST_SHA512_test_vector;
SELECT SHA2( x'eac31a21d4943d32747d63604d09b9b29a97f0a632b04024af98adb1cf2389e51bca3a1fc6fe3d77d7bd6bf48b627b00f4c1c918e77355c8156f0fd778da52bff121ae5f2f', 512 ) = '149e8b8ff19a532d22a72d9d0390d51a365f0c2fc288acffe99efa5cd21c37f9d39cd307faca020df2aab996fc6b46815133c52a87a3b1ae350833e3e6adb1ba' as NIST_SHA512_test_vector;
SELECT SHA2( x'28cf2204c192776c904b1288b5b398f99c9189cd6988c4f69a334efbe7744fee6d085d9e0c5ffd0d0eab672509388aa606fb5063e26d23aef59ab011f274eb3f0e6e53496546', 512 ) = 'a6f42a3755bd9940d2f464b2efd42e26e7ad63b2ce26d39dccfe73aa7017e0d5babdc6ca8b8b0fdb27f014537863db09b92f100ea503490e4d1c7a4618372777' as NIST_SHA512_test_vector;
SELECT SHA2( x'6efc3166fc8a21022171a50e793248b418dfe339c180728058b420d09a9ca4d60cf4d0ee3183679e00b63063958848b127a4bc353ace575d167fb91a77cfa9e58698ad0008d9d7', 512 ) = 'ce34cabc906f67243ccd62ea6363f7ecbb7da3c8640799ddcb5783946d54d68f98e743b4028c5800a7716d524b171920b3b3fa95b19991032622ff9ee90771d5' as NIST_SHA512_test_vector;
SELECT SHA2( x'f278f968b3b8eac25ed38b4ac7d605930510bc8531c62eb06a281de11c84f0f382ba57e86af02e393986a4692e4c9ce0ebf353f731c24350eb8a48686edc026fff797a57950a082b', 512 ) = '08cfdf043c67b265027c343e05e188a78646414f7f2adbba5fe0a9409b8ce173edc93db26e0e79c191c909ee21c7307ea7c582be30d5377512088c791ea20bd6' as NIST_SHA512_test_vector;
SELECT SHA2( x'816958892728429100099fbfe5512a367cd7ee2154c6fe99319f67c9a47d6350df9dcfe6c81ddf434c04113df6835f30c07bb9a2293eb227879a7a839f140c0f7371a85e5b7b841f57', 512 ) = '901313c1af212cdcb56cfdd1e2642c0387d6152368a8150cfb3ec6758b45eebced1a50dfbb473c9809accfb575e1eb653a8138080ae08fe85c7010ba8626853f' as NIST_SHA512_test_vector;
SELECT SHA2( x'a2a1de6f0ea927b132bf987abdaa725b0e1e274e46830e99a2f75af608964df0dff9a99024fc6839bac5acd10202f921ac71a27fcda681aa3109ebf5f21ee3a849098ea3a551e844fae4', 512 ) = '6985aae9d3e97d29b4ba174b4aed7abc5beacc4946a00e6b0921f7978b8cd62fdf897a9ecf94ea2e053bb732f2d6b1a44c1eff9c0ce43bd5ad2aff41121aa12c' as NIST_SHA512_test_vector;
SELECT SHA2( x'e17c9c1af29e6c3c10f97fdde3a35cf4d37157176fc711ef10ae42eab927b62f42c096d7b664e95af9775a47ae233c3957eccb06be8bb53995f9d9c359ca4eed7cbca791c290758aec180e', 512 ) = '07d0426622c4f5c5dadfd3978fe9edd52b90bd8a9cea32eec6dfbb5cbbaa2549bc7ff15b8568ec716bf315e28b108f35274e4d4cba1f97e7dd7d54d63f8128f4' as NIST_SHA512_test_vector;
SELECT SHA2( x'45527df1eb7033e31c0733d7a384c642359a6118018ad43488a2c5faaf035d3b12a841589ca4c4ab55ab5b227ad4512dd39dbbdb4130af4097e5b119aa076eb3acdbad08b5de822ba34fc4e7', 512 ) = 'ac0fc8acd30a0c7d4e1a3f965d157af94c4c9d0fa172ad1d4e6b200cec02cf345f0318cc11aa2c9de2867f7c6768aa75548c30c6ae711a6e68ddd0b27be808e5' as NIST_SHA512_test_vector;
SELECT SHA2( x'eb41a4fa67ff100792cdf1b7c3b8f88dc276ce1a2c3f9d7219dfd1defb0820d0caecc71c5e0b17641c4a31d4d4460e10eae7c26bb438015a2476e228a767e3eb4cec2db629da1a10fb06f5a50c', 512 ) = '382ce23a5bcd95acfb9dc3c9e6962a8ceac1512a0df09ce741fe4c2890e268c637826ee229869663dd8dc9cc83ca5802aba02a769a667dc0d180a24af90dec7c' as NIST_SHA512_test_vector;
SELECT SHA2( x'dde16e701bf40e42cbb1ad213a84167da405963befd455b699c7e504f0481c7a81f81f72d299c04b542a0ab293531920b00430a4115a05e357c25f5d9060e3f2aeb22ba43970199e40b76b769567', 512 ) = 'd202fc7a97202fea9fdffda2f7cb874e2054c7d6747f904d198cf8d1831eadda653fe79198fe264ef88e480ec731af47165b080ea6078cb7c5bc71dc3fd4c65f' as NIST_SHA512_test_vector;
SELECT SHA2( x'a530841c4cc46eafe5435317a3651d69db7aeb1ab75062092f5743c0350343f73072175aac4fce8d50f6636c10d99397a422ec2e389a27d965c9b70c605fa28971d29026a74921d0cbb984d0924d46', 512 ) = 'f7cedc950dd26e26b087940306a92f43f77ae039c34144aff8c5c2cb01214f18108f913e81d621e45a53e035a7f578fbe2d7831bf39c71ed9e7694d95d69efa5' as NIST_SHA512_test_vector;
SELECT SHA2( x'd7289cfbdbb66582d93c8d1f03f9e3b4c57955c69a18622623c2d2d07afca413c42848f205040ecb3975df36a0832b3059a42279323d273abf6681eba9ee5474499ed09275c2a97d9ae6c7c80bde3e88', 512 ) = 'c527bb959f9b7314e10b83a89e22d52e9a47437050b67bf47be7805eb151e5bb08e3ecf4b78d3fbd40c115dab9ddd27fe033cae82e259a880872f74413d2945a' as NIST_SHA512_test_vector;
SELECT SHA2( x'b6aa7703b126ffbcdaee16664e82ce20be9a90fa0968575a101d1b9fc6ae910586d811c8aa62d78d59a26ffda0426bb3c4445758d744ef0c8afd8f08420fea826e00ffd1178049d2b8f1368a5126db0db7', 512 ) = '0b54fd35a70ff3abc587670afba9c671c57a50bc6a2cdc2deae2a0c98495adfa4559519184f9812c844eb3dd4621facac85de88fdb2eba9fd38cbbea697923a8' as NIST_SHA512_test_vector;
SELECT SHA2( x'1263458e97c49296f48ed339144f682a6fefb11b824c20807c2192953b2cdfa27690af7d3c7890519dfd469fa74a628294fd173741d148dce27ae578f5d1783c7431fb094f21ed321933a582012ce5810564', 512 ) = '4961166aacf83cba8b42614ac5e699788a995462be37019bc6d8281dc84ff07a19840d9e2e3f1fcbd995903b537de325087d81a85bee94430d96de56c2d6a275' as NIST_SHA512_test_vector;
SELECT SHA2( x'caa784bf0dd2605026635e8b19db46249da32fe523fda345133afe3b592e175420e12204dd87d53990b2ca3647c7259fe3ae76d01ecee173cd397c526323f869b79984400770ee783c7b0ba36f015a59ad6de4', 512 ) = 'f6335ee270b1a6795528df400d0daec52eddfd0571a2c2c3722047fc1e08498263d43e2900150fc2d098ef1b72c6a28054a620d5f2bfde80714f0f07093cc14e' as NIST_SHA512_test_vector;
SELECT SHA2( x'e1b77436f6d15a209fdc68a636d96cf38c6850d388dfe369119ddd242e9c1def6c4634a8818a27d42e2e71916a6748cbbca721b3e9b6766dcf04c709913edfb5f41f5831098961830dd4bfeb8d661219cd835a9e', 512 ) = '84067e9bd1a74088edbab9182a39a43e8fa9669a7918a5dd2b0dabe0daf2395b6d41ec828e89ae9ac5e63f54a0dbf7659c13ddc20d2d3d33f30fe5d1747ac341' as NIST_SHA512_test_vector;
SELECT SHA2( x'cff920294053417495f5ba31281eda43e264ef8bad555fae2c5ff419a9ed78434fd3823299ec8f410a0154201fed531c82ffada180a037fdbd36cf662648f13f28e285971f3bfbf312959a4d9d65155c2eb4601675', 512 ) = '7a1d2a43df8e5f2521d93269d5fe069a555e460d0fb72bee3795c018d77ced248876f86f4e668756f035f2af5fb23c78529278c2a8d773eb060713c450f94559' as NIST_SHA512_test_vector;
SELECT SHA2( x'03a0c0668e3984b2292d9bd4cf57051ba2240b053b9a2a5f3e9954ae316158ce8e559ed916ff174b69537463d43896cc6a44467c56c727dd6f0ce82a0ddbbe1c1b4212c76e9677be55b4de7e728c0d0ac8e14dd2144a', 512 ) = 'f1c616ce75361a068fc44e8626712dfd535dd37a0a9e8b3b1dfe9cc7b320864664b96193c3728450114c0f4093595202f82b7dd2a37d4b55f01ac24e6f108366' as NIST_SHA512_test_vector;
SELECT SHA2( x'814c6906076a3a531d6cabd94025549fe78576b671bd8c785ca42212b75aea40da2b0d5854b6bf8a254e16662ea01c9ee596230e4d7c58f926629b9660c18ecbd661ec3839791d774a1907a24dc52616ba62df77355711', 512 ) = '52d5bd5dad0f1340fa3213ba2e94db95ac2bffacea3647bfb94163427fe7eebe5fe6f49160776da6cd9670a617aaab39bb73c5307424e61eb2cd03bdf186eeed' as NIST_SHA512_test_vector;
SELECT SHA2( x'4edbba7c47286bdb1343da9127a036624ab9a42cec0e3412ba6a13d96f670392ed34097a8c96651eb22dc7c3a4f9c0049b1d77bd1be29d2880fea346da172a81fa83bb8fcd52b899e98e929d66c13d11efb8e1c91887d31a', 512 ) = '036b62ec6673ed63f225f6feb88933809c32edae2292925fb888181c1a0b36cae40e22aaa6db0061e92001e63e4e25886c1d5e8d49b84b928161ddcde950ad64' as NIST_SHA512_test_vector;
SELECT SHA2( x'267b4d93feba7d7927ea2def7a11994cc35a8d3dc50e85607fbf130eaec7817893f1b7f5f675609a6b2a490cd4f70992278ae76e724df86e1c9688be6d1fbb0050b5749e5834765f02b2ca393afb6067203ef9bb0b054334ce', 512 ) = '7e2ecfef69de2b9fbf553e274dfdd983bf712ef581c4996c0e80590cc7e4e884842561a4690bc5e7c3b5299565f9374b0c97f8e966982a5b15699113541ba784' as NIST_SHA512_test_vector;
SELECT SHA2( x'ee4ce14bfebdec4ae1b84d73bc62e143ec3098f5905a1e99478dba663be176515e0a80dff3d2d03751c70b7be330a758744651dca9a18b88cff19aa7d7ee9fde9f92040374851932d4d9ff1e78f7c6a692d9d2a9537a831ab08b', 512 ) = '3f2f168af618dc5fcafc8dd644295da4a022f975e3518ec5d1046a3e9ed16756dd5019e98fb85cdea2abf5e47c955c064f7bcdefb02d49c1f92b151c215217ea' as NIST_SHA512_test_vector;
SELECT SHA2( x'e742e8c107336988161ca3343f532b59df8e6c02dceb9ce03833efa8e65f0ab6dc5bbaf6690be604c98cc292f7bc460bc2fcdf752334649cce184b6d07aa1da0b700279abf4873918c09f6f1ebac0bfe1f3a20bb3267af0b88d071', 512 ) = '745f4cbc34ca7727bf2ecd38aa24126e0566eb0ed633b5f3ddd92ecd74fea28059fd5d7b0810177f22be7d776aba3f63269328b7451b336cdfc78724c6c329b4' as NIST_SHA512_test_vector;
SELECT SHA2( x'1511d4d2b955be39525983b9a9144e9f60eff6362928d3493675d1e3f1ebc259ec1df98a1b881466412f19ada882c5f9158420fffb2d5512ef0dc1e95c334aa1784df2057611ab0efedb6ea6da9787b1f2e1334e7a6b6c5a6a9f0437', 512 ) = 'd9bcfb54e8dcea3f8d6c7110e7fd397e52d6d62be2fa758e30d79c7ae89ddff0447e01414c7b9b6057fa1d70f064c27da9f5c4122d46c91ee2c1573ccc65c24c' as NIST_SHA512_test_vector;
SELECT SHA2( x'5a040538682bda120fdc18b072408abd5f7627681d43f0b865051c1faee97353ae5ef8591dcacae2bc7b4cdb96e0844085f9c131f90c8147f59a91285a91765968c30c5482976ddb31fe148b6ca943b4177aa168c93828d2d2863ec97d', 512 ) = '45e61293e86f22b3a3f24f21a9297dbfda1c414d691606599030816332a0f73ca3e7f6d6cd5120e1274e91427e4305cd4599d60f8d2b3069430da6caf8fce103' as NIST_SHA512_test_vector;
SELECT SHA2( x'a9abd6f42a85681483904d9a94b70dfec552f073495865bea4d0a4496a8993734a0be62b4ccd8bbd57a945ebf68c97405b72e3a1a592d3255ed5f827488db19959644f9a0492764bba54c6dfb199bbf2e4fed21c5bfceec5ac60f93bc2fc', 512 ) = '7aebcf0b69968dec55525b90722e5cfddae97e4bc0dd6630a88c24560ce7f6dc5ad365e1394c162b1fbab7dd159fac8d10e036e12da9102b36541486bf3a9273' as NIST_SHA512_test_vector;
SELECT SHA2( x'55218435049cb8e9346c6e9602c3601c9fa5d2bf0c9c757d21ae8a9ed48c4a8eb80c86e8c4d98bd3566948917730b355611468553f209321337c11339d9dd2c79bb982edcc7e68dc5a038e8937ff2278a6391cd2fe3f21b9aa5ba7d875c35b', 512 ) = 'd78f40b72a42cbd0309417deea33ea3a317869e5242a6ef94aed63b96bfae036acdcd5144761e5077f8faf79d10c681a7c1144de553bdd9b742eb9aab76edd2a' as NIST_SHA512_test_vector;
SELECT SHA2( x'e9a6317e3bc4d6cdd5a0833e52fb48baca16a9ba9b6c8ca469a0555763b54f04c87d4e41aa549258f30eefe5a52d2ba06657a8773b0842e094857b6d8911d6a0636280025e56356fade362b4bf4c875cc19be0c6644b447be0454dbf390eb966', 512 ) = 'b79ba8a1dabe9a89a383e8bb61750b4b84c90846671129abd1bed826345d97127c406b447664e3cf5305b5709baa29998c0f74b9f0038965be53a7620917d9c0' as NIST_SHA512_test_vector;
SELECT SHA2( x'8d3108ebfbd2a6d248234e4eb76af905a899a886bcdba67e3a6d0e2eb2af8e1ce07b6a09d2b5c4244d231a7d6e7f10bc8dcb701366e56f717b5b32f9b48090b249c01a80e1305853fc69569e8e975f0beccd096dec9c72f548e3c8aa44e80f1391', 512 ) = '6d32fec68eba7bcd27a1ca2395e582add90bf74c8cc0926249dcfc333240cbec609976134c541796ff86e6c4481960339b06d00b4a4c55b423ddff52e9595be9' as NIST_SHA512_test_vector;
SELECT SHA2( x'71599aa11c29f6629aacb58f1478e19988a504746cdeeb4894b7aa6a5541e08aebdd3c2e184d405f0e1145a18ff0c02953d5c34baadcc73262ada8d3eb09f123b9a25a88ea308f8e29c133dcd2502566569a02e4e22deb823bc288d9edcc4c1ea451', 512 ) = '30a38eaecdf787a4a2bc2e7e31e1c908112cea639cd882c0e88f0b3b8c131b5d791028150a3970ed79aba63421fb7735c068ccc3ef2ce500ba574f4e0515c360' as NIST_SHA512_test_vector;
SELECT SHA2( x'c436115d8fa97b11dbca495353e7a37a82b0816c44e3c1647a2977f2023b8443e7486aa2d49b5e3fcf799f2f234807b59ef7dfc0fd99f8b4a553f76d9479f18296f438c6bce774150a92f54d7076479afcb907f74dcdf6f14b4d4cae15274f2f3b0023', 512 ) = '9a3bf2d701b6817baea83cd359257da3f6eb8cc34bf5169ec22a1dfc33001d6c4e7f866c2fb863dbe06106471437d0094215b9b17e7e27e90bd2eb05006e3d6a' as NIST_SHA512_test_vector;
SELECT SHA2( x'5e2a3dcd2f860045cce291de5f501048a724cbacf9f1604085b4221adb4ebe42ae381f0ad7728ea29cbc1ee73309477c8231d11c29e6f32ec2e9bd9a677db3dc751dbb57906a39ebe86778c9bae84c861948f56fee5b471d3ea30849abc79ae13e40d95a', 512 ) = '2828051603cc729ddc9feede736ca9f352b69ab5a916042cf1f9f90cf1d529d7dd0577da13f11f4f7bfac4c4f2d9a327d4c9924ccc93b8c14428c6824c939a14' as NIST_SHA512_test_vector;
SELECT SHA2( x'e5f4f4d833fc49da6dd083442214cb70d889efbefd2efdd820ac113b61f06bf3261ac4a51096e2d32e886b5c706ef7425e0168b0095b7e3c425fa6690b5613704bd61040c6e895c34b6918632fb1a5cdfb7331f462e42c597620558b1bc9d2e9bbf180af3b', 512 ) = 'bb66ae70b600735d0e9098f12fcd9aaac1f2141291e9bf54bb8e0013fce25ac1b878dfa5d0378814d84dd8892391da402891fbd7bcfec344ffe3272c5be7be66' as NIST_SHA512_test_vector;
SELECT SHA2( x'85c2ce900c00d962f759c2091dd6c2e9211c36f7f7e348caa3aaccf444a968925208f822244e3095b51c83a5a71b446988330c2755fe5b693c7c8253a608c033758aab5a8aefd12b8bd6a071e38c83f60a3b4e51065edcff3278f6b53e0677f577b2aee048c9', 512 ) = 'ef50d18489656f7af6148e897d4ab3e631f0fd4f9fbd7f232a0ee288980b4cb10c2a1f890c77d13b4646ef133bb8816998dc8f88d5798ec7515f2c8ce607b655' as NIST_SHA512_test_vector;
SELECT SHA2( x'f7f7f3bc1615653f479acd63042a0d15d636a071bdd02433d2bd156f2bccdc83ff6708490a68db91332e08ce6defbb0fdb4fda3137328a5374cff68ba2074cd713f40757bcc474b9ddc86ff4e5c86e39909ac22652f2193ef87c46968d2845d07ac6794df2d239', 512 ) = '11eb07f3a5c143026a7824197c02e2a52281fa82e15ef976a7e63941e16951f00321f206f09c2ebc0bf6fd00bb879df894952b98151b0e8cc27b34515e1bf4c0' as NIST_SHA512_test_vector;
SELECT SHA2( x'd12a258ef4cc5ae35ba4e63aa23165945516f464aa098b966feb8ecf41389ef7ffa2b5f57ef972b97e4eb180dd585f530b178dd1beb6c22fe7b6967de4497c2bf7fce0cbf7997218454cc13802040b3e7f1c53f3f53bb5d67779f76124c3608ea180cd9ac7740109', 512 ) = 'a8e4b47f67f1541c7fc0f2a13c5abb33a1d4a5d733d794f22edf760b146485ac53bd03038ee76e322fcc23667c4c209f6c61287a8c9c044f0c9922752a9efc0c' as NIST_SHA512_test_vector;
SELECT SHA2( x'a71a304ec61763764ad7881d54fe7d394e658e7588253ce223f23ce92fabc385102e01af2671eb19adcf3e1ee19fc1f9660bca36e8200367ff216e185521a7050ad06a8a5796545a72deee74b2b5e753f493a1653d78f0bfa13b1e0f631f32d25da871c7a2ad26a363', 512 ) = '2609ef79ea747fe6b00a50a2316c9d3ed2946adfd71cb3b1ad1262b3911add77c2bc76d121444c905ae865703e208bffd759b222b42b02cd13764c04298aab15' as NIST_SHA512_test_vector;
SELECT SHA2( x'63df67c7eb2829ee72dd694949d92a24a0622c8f54ab6003089d9e4877d79a9508f415faa40c50fbc47dc67eceeb1ae7a1854f816e8a3720cb0c2e0402f50801af4747dd8aa891fa811d62340a16ff0db7abab080a251c528cc030a719afdd747e6166394603d532d046', 512 ) = '42463a62b1c92b3982dc4d666f8bf30ad5b3f383fc00ae3e65b5d4787ba0ce9f0c5e6d4d6446f1f480460fcac237dd1d82657b14dd8e4044954321ccba7f478f' as NIST_SHA512_test_vector;
SELECT SHA2( x'b95900674bc78a86f4f9b2203b2950f6eac9a59665804c833b6f6e90fbb8368d4941842530b5e607baccc444becddaf8fa51eb2d6149b4fcb64220f55ae8bac263c96706ed5c558bb5422f9de4cb93b128bcc54b0950a51e7b7cde74af7761d02f7a12d22ac5c05c0ce25b', 512 ) = 'd420448ee2c6eabadfce5856fe93383ef559d144c97349bc0af48b1c19a926bb40b62d3cc9334804e6991cb073baf976dfb52ddee24b5ce36d1f6789eed83574' as NIST_SHA512_test_vector;
SELECT SHA2( x'fe59b2da7c365a64901f6a132c957105844578ee0a2c955f9dfebd49fdc9dabd83d51df50fd096984127023aecb7e422c7a5d751668a22c069d48de8f46973875f8d19a22e053ec6437cf3945227ad7d96a599c9c2292fde3bda0abf847af7d3f9464ce8c11e7b77fee6e629', 512 ) = 'cc7cb1a4a616ae4806e48cbc176542a4d75a5b07c25d9324c124db13328e656ccd1cda4f946f0425c5d79c1ba165b1a12933b92f7bc3296fe98c72b15cad2d51' as NIST_SHA512_test_vector;
SELECT SHA2( x'71f7ff4ba87d2bcb5ff81a1f42f47756f5189e6b5458011bff6ccaf41680c2af412d71bff4a8872af1397a980eef71a93893618cb8da75ceb5deb46ffacfde3bfae69657119bc61b0d18401fededa199e9057be6b2d9b366fae3278d37569437a40cb83c89c0b345bd7db3de69', 512 ) = '31b446c44b0aa2791cb7ab5834e4b8cdd2e3c5b4a96234b338c7b9431dab2bc532e4d71c7f84f07372c8a3f08feac37d0254cead9a9aa619d312a3c006992caa' as NIST_SHA512_test_vector;
SELECT SHA2( x'52b5a7af72437136650e64a49078aa831d8d715c46364c88d0b0d543d53d9802c71a2c07b2b0a332c10e251a0497d75c70f80133285e7149fbe51acd2d5301c67a065aa7582bed237d31bf42a17defb58560de673446925488305d9ef164b9dd726277b7ec1b19b29f5e7c45ee93', 512 ) = '02bdc51f3e4e129a4b21347d835b3611165424eb6607440c816979e6806e27df12c50413740b1602da26db7ee3e55e5ab4a62a8eaae24ef1c68d1510fc824932' as NIST_SHA512_test_vector;
SELECT SHA2( x'b698108304a44fda03e02fbd13bdaf3ae1c7786de61f7796312bcc6e678ce3bc0850e023f369413e2d5ebeefde4174f39ce143baec4075760648a073d9b9cda64f66d988d2a11c250ff4496ffa1295d9120c1c21e6c8806dd8b0d39a21a7b7d11541c35ba83329b6320896e86f165a', 512 ) = '131ecdf4840cdc45557516205f07cc277b7641d05afc57cb7fe534f59d9cbe611e0e6a7b6aad61f1d39fdc7559f3048ac4d0a41234ddf07423dc61dbfddb7a65' as NIST_SHA512_test_vector;
SELECT SHA2( x'65f571e86f04f86dca7079e2ce8619a1f52057fed7cc9e88592a1a8c2196ccdb4d07d9cd643728868c052b78fe17fd29b8c3ae377130db99d2b88127e391125dc4adc95c9dde3b31d73e305a8dceb0863d5d619dc4ac100089cf8d12f8d6bcf732ade99c02415cf714e42d9061f35a40', 512 ) = '0cf871f3af1d3e5c9965619f479ba6b75be338afbf32b2a1fdec9361164357b2c4faebebff6e4a5af00389336434b5872285adb1e760ae99b19a812236000d22' as NIST_SHA512_test_vector;
SELECT SHA2( x'188d1fc4347ad766311a74574b46be4c30886742bfd1eec90f6ac4a3b32dae8d3cf56a5d0053954d1a83cc97b29e12427f10713b894de4a734c075787a04a33e785706402c4c36cc7dc0e8cb7b0e5a98e987f213f91c22f1565e8e5667a971a5d39b3c9740cb818a61b8101c2f0060f976', 512 ) = 'b67a29b2280dae77184e2e7839a7f3b48f4054f9bd0ebf5ecf1694151966756ec4542b2285a53fa37515116c7db4f1aa492f9db0bbafa0567bdaea1bf0f26abd' as NIST_SHA512_test_vector;
SELECT SHA2( x'9bae33d315dd0e4fbed1a571e7e5f902c9c027817679f46810ffaab139b92399ca6923a4c856ebe194aa0a6f61197740ebc3dd1d675c36eab58a9b2cdd8e5ac8b9274a0defb35bf5239871a86ae27342012e9ed63fc620b3c80de2e6041ea500cfb05019723d8814d2638225e88a159171c7', 512 ) = 'f3b2f66f9a9673ffc47d2c510d6de0a3ac90d59e9600f2600777b1d84446cf94588231a8b48987081209e320d62ae85acb4895731bef1710923ef0fa983340d0' as NIST_SHA512_test_vector;
SELECT SHA2( x'a7d58b5cfb1841f6387ff658cfc44c2b14fbd1579f6d8276f2a38e885dc15ce81f16ce7fcef0c837f9b5ecb20b2fa83d722873ff0137537693d9a325f2c31386f777f046f216a6b14b75836c6a72bd62d589b70098a280a5ea2d9c540d7108ad7621781b2e31e34e78e741ecb4359483834625', 512 ) = '90fd55013bb36a390be5bbc34bf9ef76ab200deedf3844f79bf5128fdf6fe71332a612e5bb3c4a2bfaec1bcc5510f6f8ec8414d5e13b0ebf2a67e84ce2282d2b' as NIST_SHA512_test_vector;
SELECT SHA2( x'c3bd6ef24c7c64ba3b198a8949bb824b4642b6910b72edd8af531d0efed7805226beeafcb4b75addbfc8cfc863ef5d50720a7fd465f4afb999f134f7b84c3cd7743e2afb7c12319ea887221d777682b6bcb4e090943a65fc9b83adfb6036d5001605d6f78cd511855f1f2b926e961a058e0a80ce', 512 ) = '99163db3dae57ca20c4327b88851f3c63187e5a2bbadf3c3dab341040619d2196c84c196cee861deea363f48a9f728b4816d2831033ab472f1c92e1ce748ba4f' as NIST_SHA512_test_vector;
SELECT SHA2( x'9b6b821c5f536bbda82ff5036b6de56eb046a596469d9427b52aa12a74d718865c6abbc65d65151c702a0ba6cc63b4f15da16bbc724322feb69af92a614b0fb1aff497c892122f6da3226ea45f06bc0790ab677d09e9f34a96aab148334f93737c4f3eab652161b62b5d45858b1ea6b831aac26473', 512 ) = 'f65de5d478319608168bde654963b9d410b6aa5bfd8d25bf2165a94b5d2ceba0eb792a7bf132c6c189748ef16fe87e196c862a884b6e2da9804c92b60bcde824' as NIST_SHA512_test_vector;
SELECT SHA2( x'616ab1a4a7782b8e1cc098b3ae4c70f7bec742fd7681a9475dba7b9f281c43b6d489f20cf117d10f4159ba8781e188318702ccaa8ddbc28fcd9083e34edb7bb1fdc41ef2ffacd7b04690416c628c9abe9a9e753b3cadae9b31caa31cd4b5a12105a39d1f783e25b953ee962af9578ee42023a4762a01', 512 ) = '43394563a74a6d0a036b1dfc206a2ff1e8a2443d8f69b63372fa959360fafd5178d8e8793b2a44116a64313797b60cea5c93cba97a1e6309c2aa9436a2815c21' as NIST_SHA512_test_vector;
SELECT SHA2( x'9bf0e5967fc1359ec7093f1db06144268e176e08098ba9d085d8b50fe2b779dd66a19b1df7344d038ed86ad4e8a2c1ed7f79b107b877f6b95e91c23e4f7b0f7975c63436f84cb7b3b2cd635fe4da9ae127f2ec5ca5ece8f288943187b399d5c7b0a7db6aead01bb61d3053460ad1760b6fcc479036b127', 512 ) = 'abeb62f84f587b997e09ee255819531b986c86e2568df29ed77b68a597331f2a977203a2f66566e37cbfdacc090d0464c49839cee7a8ff569c008758b0b1172b' as NIST_SHA512_test_vector;
SELECT SHA2( x'a19949a0d6340be4a91b7973b705bddb2021a0d58f04aad474e68ade940fb99bc48c5bacf126663d649505de44f03f8e5d68d4191f3667a5ead2e2878966175bfc82a3537a1118cfb68c5b2e626d4ae4f1e7a2cda2d420c2baefe76910432251cfe3ea3e78dc6ac12668410c166427056604d4991dc61e53', 512 ) = 'c7a4313191d56ef7a73064e271ac720322866a6ef82a42a2faeafdeb8d4da7df5200baaa286ee50c9464d0eb229b036c333ceae7b6a511af5c51dab79508641e' as NIST_SHA512_test_vector;
SELECT SHA2( x'a949427f3fc83e578d9cc7ef6a510759f697bbe97d9739329e87b130ac7cb3c75480f16c80e547237cd9f8a9573a3bf28dabf6d6e2e7c90791554e46a6dd9fd6a9fb19317c1160fb8602a33412fc22b1f195edcd671aee5c452329e0526b4300efdf4135fbf593c7f53f51f86040c47e6c7e2837d2d8b01900', 512 ) = 'fe3347c05519b9c4a61fa289af3153c56f96d04f67041697ba09bf9722a04be2bb15ae2399170a9fe206db8d60cb9940c6d6826db99860f31fd83e9eb9f72c73' as NIST_SHA512_test_vector;
SELECT SHA2( x'4157af0b3e7d291add80bdc7dac297a15861a6e66db24599e1eb1bd6331f3f63dd70a087d980a51f642810ee026d2835c2af1783c32491cff785b6c427073a5c388dc3b0ac1c920f6c8f664dc48c9d5dafb69d2255247283d213b8be39d7bcfed818de2fbe3a3a117b1d878b27073e43a6deff6b299b32def8fb', 512 ) = '6d90357d4fe398642e7b6099fa2fb2383dedb02db019e90b2ed4058dd55311156e79b8aa970035d098fd3c0e26626ca9af42af491b36eb40097c6223d21201ba' as NIST_SHA512_test_vector;
SELECT SHA2( x'bc79986ccacf533b9ddbe2bcd15958c3bcd86063f325dc051007cbb8b32c70c8c764b192070dbd96c0cef1ced889fd3f0f8a42cd85057f537dbfadf3600b27ab05f80e292fc9ece157a5975cac9059d3599a4dfc06560c24a18e897e5e353abbfc9d79da4beb2942ebc79c0e5658b4a8206f49997e02cb9f06dd29', 512 ) = '1e1d4bb3839438383be702d61d60f098d70257baef0f4058260e8d300ece538a0c3133b327a7f25055916dc8c8a5c7cd419c95d0664aa53742e8be6abd4b22f5' as NIST_SHA512_test_vector;
SELECT SHA2( x'0a45314284915ec9021fdd121a3c99e7c01bc73b696d26607131857abace8734975fa3b1e84e6ec686241d66e19f455de706e64128b9a8a6380c64925555e6314a44f2c9937384efc23e5cfc22d5babb998f6764d382f4ce9c5046e08e435349ed9d2670cf2929ae8016a3bc240580679e61518bb1ef933e65a6344c', 512 ) = 'f523ebd51c0f1d8e32a299f762f50826fd2341b8ae44d0c4841080bb626112ae1eafbb089b7adfd6e6668ac7ab684f78da2a23273058973e4cb660c297733912' as NIST_SHA512_test_vector;
SELECT SHA2( x'8beea2e048193dfa755a594306ad9825c77659d037092ee09a6f91394a68d2364eac54042d76f9480443db08d7d73dc82582c1f3bfa1db7dda6785c762de34c391280b58c10b4f087ead1cd0e09b564f1710e12b487515b198246cbb86717ed77deb30a5a9df28810b1e8462c800cb02c7a923407a8bc5c2fc2cafde5d', 512 ) = 'a71b1ce1e582bca53d7615488335ca1ff351eb33a8c2c0105bec7ffcbd55e4533ee68209ec8b009066a2ff60b418d6b943816cca9b53b7bf64a34feaa4d63600' as NIST_SHA512_test_vector;
SELECT SHA2( x'f4259473bfd39877bfe9597353d7ce8dd520c66d1fc7884e4e03b655c63a7721762dd4a35d7163304c1e23d4eecba8ea07b978e9f94eb4818cc5fbe7ee258b6df96fa955b51c44e71ec6d5c12726896ffe3ea23b92d71a46532e8ad838eb4bf50752db31d1bd82c5bb4a35e105d1ba4444190d0bf24b03c629a62dd1ac75', 512 ) = 'c8a04bf3881d0582e03563af73a675e40dc9918fcb5a138b8c6fdd057df0c11b112a6dc0664a0dff8a316c3a645ac87dd25b644d061700306bbd7dd805879b55' as NIST_SHA512_test_vector;
SELECT SHA2( x'd60da691585b7c0c3714905411ae8e3515e8490dbbaf07d1b2431f501a96c7bcf4f52766d7e9b2c9e460b5cafc08303e30fce6ad78a2b055a8d31672a13d20bdc4066a33adb277171d47473a37af2c7af05dd989c134bcf09ea48e532c1628f62f8a9880417e74ffca126e2d2c6b29f23e554b29fc2cd4a77dfcae7925e784', 512 ) = 'ec83376ff6f633ee2d898d87a6a91efb0788bce188fac7d3c4c35f81ba6015640dbfad1f8584557ec210478a0cb566f1490643ce602aa5abfab63d46f7f1d4ee' as NIST_SHA512_test_vector;
SELECT SHA2( x'b7d5d5f8955d1ad349b9e618c7987814f6dc7bdc6c4ee59a79902026685468d601cc74965361583bb0a8aa14f892e3c21be3094ad9e58b69cc5d6d28a9bea4afc39dc45ed065d81af04c91e5eb85a4b2bab76d774aafd8837c52811270d51a1f03300e7996cf6319128be5b328da818bde42ef8a471494919156a60d460191cc', 512 ) = '6e7fb797dfca7577432c0b339fe9003b36942a549b112d32016b257c9a866e4385e01d4e757d4378b8e61f5a8a29aa73f2daafdaab23dfe4e0b93df21374e594' as NIST_SHA512_test_vector;
## Test some unusual parameters items.
## First, the ones that must return NULL.
SELECT SHA2( x'ff', 1 );
SELECT SHA2( x'ff', 2 );
SELECT SHA2( x'ff', 223 );
SELECT SHA2( x'ff', 511 );
SELECT SHA2( x'ff', least(123, 42) );
SELECT SHA2( x'ff', 10000000000000 );
SELECT SHA2( SHA2( NULL, 224), 224 );
## Second, things that mustn't return NULL;
SELECT SHA2( SHA2( x'ff', 224), 224 ) is not NULL;
SELECT SHA2( SHA2( x'ff', NULL), 224 ) is not NULL;
SELECT SHA2( SHA2( x'ff', 224), NULL ) is not NULL;
SELECT SHA2( (select x'ff'), 224 ) is not NULL;
SELECT SHA2( (select x'ff'), least(224, 500) ) is not NULL;
SELECT SHA2( (select 1), NULL ) is not NULL;
## Verify the digest lengths.
# N bits -> N / 8 bytes -> N/8 * 2 nybbles
SELECT LENGTH(SHA2( '', 224 )) / 2 * 8 = 224;
SELECT LENGTH(SHA2( 'any', 256 )) / 2 * 8 = 256;
SELECT LENGTH(SHA2( 'size', 384 )) / 2 * 8 = 384;
SELECT LENGTH(SHA2( 'computed', 512 )) / 2 * 8 = 512;

View file

@ -1,4 +1,4 @@
-- source include/have_ssl.inc
-- source include/have_ssl_crypto_functs.inc
--disable_warnings
drop table if exists t1;

View file

@ -1,7 +1,7 @@
# Tests for SSL connections, only run if mysqld is compiled
# with support for SSL.
--source include/have_ssl.inc
-- source include/have_ssl_communication.inc
# Save the initial number of concurrent sessions
--source include/count_sessions.inc

View file

@ -1,7 +1,7 @@
# Turn on ssl between the client and server
# and run a number of tests
-- source include/have_ssl.inc
-- source include/have_ssl_communication.inc
-- source include/big_test.inc
# Save the initial number of concurrent sessions
@ -62,3 +62,5 @@ disconnect ssl_con;
# Wait till all disconnects are completed
--source include/wait_until_count_sessions.inc
## This test file is for testing encrypted communication only, not other
## encryption routines that the SSL library happens to provide!

View file

@ -1,7 +1,7 @@
# Turn on ssl between the client and server
# and run a number of tests
-- source include/have_ssl.inc
-- source include/have_ssl_communication.inc
# Save the initial number of concurrent sessions
--source include/count_sessions.inc
@ -23,3 +23,5 @@ disconnect ssl_con;
# Wait till all disconnects are completed
--source include/wait_until_count_sessions.inc
## This test file is for testing encrypted communication only, not other
## encryption routines that the SSL library happens to provide!

View file

@ -1,6 +1,8 @@
-- source include/have_ssl.inc
-- source include/have_ssl_communication.inc
#
# Bug#29784 YaSSL assertion failure when reading 8k key.
#
--exec $MYSQL --ssl --ssl-key=$MYSQL_TEST_DIR/std_data/client-key.pem --ssl-cert=$MYSQL_TEST_DIR/std_data/client-cert.pem -e "SHOW STATUS LIKE 'ssl_Cipher'" 2>&1
## This test file is for testing encrypted communication only, not other
## encryption routines that the SSL library happens to provide!

View file

@ -1,7 +1,7 @@
# Turn on compression between the client and server
# and run a number of tests
-- source include/have_ssl.inc
-- source include/have_ssl_communication.inc
-- source include/have_compress.inc
# Save the initial number of concurrent sessions
@ -30,3 +30,5 @@ disconnect ssl_compress_con;
# Wait till all disconnects are completed
--source include/wait_until_count_sessions.inc
## This test file is for testing encrypted communication only, not other
## encryption routines that the SSL library happens to provide!

View file

@ -1,5 +1,5 @@
-- source include/have_ssl.inc
-- source include/have_ssl_communication.inc
# Repeat connect/disconnect
@ -11,3 +11,6 @@ while ($i)
dec $i;
}
echo completed;
## This test file is for testing encrypted communication only, not other
## encryption routines that the SSL library happens to provide!

View file

@ -1275,7 +1275,7 @@ void mysql_read_default_options(struct st_mysql_options *options,
case 12: /* return-found-rows */
options->client_flag|=CLIENT_FOUND_ROWS;
break;
#ifdef HAVE_OPENSSL
#if defined(HAVE_OPENSSL) && !defined(EMBEDDED_LIBRARY)
case 13: /* ssl_key */
my_free(options->ssl_key, MYF(MY_ALLOW_ZERO_PTR));
options->ssl_key = my_strdup(opt_arg, MYF(MY_WME));
@ -1303,7 +1303,7 @@ void mysql_read_default_options(struct st_mysql_options *options,
case 16:
case 23:
break;
#endif /* HAVE_OPENSSL */
#endif /* HAVE_OPENSSL && !EMBEDDED_LIBRARY */
case 17: /* charset-lib */
my_free(options->charset_dir,MYF(MY_ALLOW_ZERO_PTR));
options->charset_dir = my_strdup(opt_arg, MYF(MY_WME));
@ -1736,13 +1736,13 @@ mysql_ssl_set(MYSQL *mysql __attribute__((unused)) ,
const char *cipher __attribute__((unused)))
{
DBUG_ENTER("mysql_ssl_set");
#ifdef HAVE_OPENSSL
#if defined(HAVE_OPENSSL) && !defined(EMBEDDED_LIBRARY)
mysql->options.ssl_key= strdup_if_not_null(key);
mysql->options.ssl_cert= strdup_if_not_null(cert);
mysql->options.ssl_ca= strdup_if_not_null(ca);
mysql->options.ssl_capath= strdup_if_not_null(capath);
mysql->options.ssl_cipher= strdup_if_not_null(cipher);
#endif /* HAVE_OPENSSL */
#endif /* HAVE_OPENSSL && !EMBEDDED_LIBRARY */
DBUG_RETURN(0);
}
@ -1752,7 +1752,7 @@ mysql_ssl_set(MYSQL *mysql __attribute__((unused)) ,
NB! Errors are not reported until you do mysql_real_connect.
*/
#ifdef HAVE_OPENSSL
#if defined(HAVE_OPENSSL) && !defined(EMBEDDED_LIBRARY)
static void
mysql_ssl_free(MYSQL *mysql __attribute__((unused)))
@ -1778,7 +1778,7 @@ mysql_ssl_free(MYSQL *mysql __attribute__((unused)))
DBUG_VOID_RETURN;
}
#endif /* HAVE_OPENSSL */
#endif /* HAVE_OPENSSL && !EMBEDDED_LIBRARY */
/*
Return the SSL cipher (if any) used for current
@ -1794,10 +1794,10 @@ const char * STDCALL
mysql_get_ssl_cipher(MYSQL *mysql __attribute__((unused)))
{
DBUG_ENTER("mysql_get_ssl_cipher");
#ifdef HAVE_OPENSSL
#if defined(HAVE_OPENSSL) && !defined(EMBEDDED_LIBRARY)
if (mysql->net.vio && mysql->net.vio->ssl_arg)
DBUG_RETURN(SSL_get_cipher_name((SSL*)mysql->net.vio->ssl_arg));
#endif /* HAVE_OPENSSL */
#endif /* HAVE_OPENSSL && !EMBEDDED_LIBRARY */
DBUG_RETURN(NULL);
}
@ -1817,7 +1817,7 @@ mysql_get_ssl_cipher(MYSQL *mysql __attribute__((unused)))
*/
#ifdef HAVE_OPENSSL
#if defined(HAVE_OPENSSL) && !defined(EMBEDDED_LIBRARY)
static int ssl_verify_server_cert(Vio *vio, const char* server_hostname)
{
@ -1875,7 +1875,7 @@ static int ssl_verify_server_cert(Vio *vio, const char* server_hostname)
DBUG_RETURN(1);
}
#endif /* HAVE_OPENSSL */
#endif /* HAVE_OPENSSL && !EMBEDDED_LIBRARY */
/*
@ -3036,9 +3036,9 @@ static void mysql_close_free_options(MYSQL *mysql)
delete_dynamic(init_commands);
my_free((char*)init_commands,MYF(MY_WME));
}
#ifdef HAVE_OPENSSL
#if defined(HAVE_OPENSSL) && !defined(EMBEDDED_LIBRARY)
mysql_ssl_free(mysql);
#endif /* HAVE_OPENSSL */
#endif /* HAVE_OPENSSL && !EMBEDDED_LIBRARY */
#ifdef HAVE_SMEM
if (mysql->options.shared_memory_base_name != def_shared_memory_base_name)
my_free(mysql->options.shared_memory_base_name,MYF(MY_ALLOW_ZERO_PTR));

View file

@ -41,7 +41,7 @@ ENDIF()
SET (SQL_SOURCE
../sql-common/client.c derror.cc des_key_file.cc
discover.cc ../libmysql/errmsg.c field.cc field_conv.cc
filesort.cc gstream.cc
filesort.cc gstream.cc sha2.cc
ha_partition.cc
handler.cc hash_filo.cc hash_filo.h sql_plugin_services.h
hostname.cc init.cc item.cc item_buff.cc item_cmpfunc.cc

View file

@ -167,7 +167,8 @@ mysqld_SOURCES = sql_lex.cc sql_handler.cc sql_partition.cc \
sql_plugin.cc sql_binlog.cc \
sql_builtin.cc sql_tablespace.cc partition_info.cc \
sql_servers.cc event_parse_data.cc sql_signal.cc \
rpl_handler.cc mdl.cc transaction.cc sql_audit.cc
rpl_handler.cc mdl.cc transaction.cc sql_audit.cc \
sha2.cc
nodist_mysqld_SOURCES = mini_client_errors.c pack.c client.c my_time.c my_user.c

View file

@ -1834,6 +1834,19 @@ protected:
};
class Create_func_sha2 : public Create_func_arg2
{
public:
virtual Item* create(THD *thd, Item *arg1, Item *arg2);
static Create_func_sha2 s_singleton;
protected:
Create_func_sha2() {}
virtual ~Create_func_sha2() {}
};
class Create_func_sign : public Create_func_arg1
{
public:
@ -4363,6 +4376,15 @@ Create_func_sha::create(THD *thd, Item *arg1)
}
Create_func_sha2 Create_func_sha2::s_singleton;
Item*
Create_func_sha2::create(THD *thd, Item *arg1, Item *arg2)
{
return new (thd->mem_root) Item_func_sha2(arg1, arg2);
}
Create_func_sign Create_func_sign::s_singleton;
Item*
@ -4973,6 +4995,7 @@ static Native_func_registry func_array[] =
{ { C_STRING_WITH_LEN("SEC_TO_TIME") }, BUILDER(Create_func_sec_to_time)},
{ { C_STRING_WITH_LEN("SHA") }, BUILDER(Create_func_sha)},
{ { C_STRING_WITH_LEN("SHA1") }, BUILDER(Create_func_sha)},
{ { C_STRING_WITH_LEN("SHA2") }, BUILDER(Create_func_sha2)},
{ { C_STRING_WITH_LEN("SIGN") }, BUILDER(Create_func_sign)},
{ { C_STRING_WITH_LEN("SIN") }, BUILDER(Create_func_sin)},
{ { C_STRING_WITH_LEN("SLEEP") }, BUILDER(Create_func_sleep)},

View file

@ -29,6 +29,8 @@
#pragma implementation // gcc: Class implementation
#endif
/* May include caustic 3rd-party defs. Use early, so it can override nothing. */
#include "sha2.h"
#include "my_global.h" // HAVE_*
@ -94,9 +96,9 @@ String *Item_str_ascii_func::val_str(String *str)
Used to generate a hexadecimal representation of a message digest.
*/
static void array_to_hex(char *to, const char *str, uint len)
static void array_to_hex(char *to, const unsigned char *str, uint len)
{
const char *str_end= str + len;
const unsigned char *str_end= str + len;
for (; str != str_end; ++str)
{
*to++= _dig_vec_lower[((uchar) *str) >> 4];
@ -175,7 +177,7 @@ String *Item_func_md5::val_str_ascii(String *str)
null_value=1;
return 0;
}
array_to_hex((char *) str->ptr(), (const char*) digest, 16);
array_to_hex((char *) str->ptr(), digest, 16);
str->length((uint) 32);
return str;
}
@ -216,7 +218,7 @@ String *Item_func_sha::val_str_ascii(String *str)
if (!( str->alloc(SHA1_HASH_SIZE*2) ||
(mysql_sha1_result(&context,digest))))
{
array_to_hex((char *) str->ptr(), (const char*) digest, SHA1_HASH_SIZE);
array_to_hex((char *) str->ptr(), digest, SHA1_HASH_SIZE);
str->length((uint) SHA1_HASH_SIZE*2);
null_value=0;
return str;
@ -240,6 +242,144 @@ void Item_func_sha::fix_length_and_dec()
fix_length_and_charset(SHA1_HASH_SIZE * 2, default_charset());
}
String *Item_func_sha2::val_str(String *str)
{
DBUG_ASSERT(fixed == 1);
#ifdef HAVE_OPENSSL
unsigned char digest_buf[SHA512_DIGEST_LENGTH];
String *input_string;
unsigned char *input_ptr;
size_t input_len;
uint digest_length= 0;
str->set_charset(&my_charset_bin);
input_string= args[0]->val_str(str);
if (input_string == NULL)
{
null_value= TRUE;
return (String *) NULL;
}
null_value= args[0]->null_value;
if (null_value)
return (String *) NULL;
input_ptr= (unsigned char *) input_string->ptr();
input_len= input_string->length();
switch ((uint) args[1]->val_int()) {
#ifndef OPENSSL_NO_SHA512
case 512:
digest_length= SHA512_DIGEST_LENGTH;
(void) SHA512(input_ptr, input_len, digest_buf);
break;
case 384:
digest_length= SHA384_DIGEST_LENGTH;
(void) SHA384(input_ptr, input_len, digest_buf);
break;
#endif
#ifndef OPENSSL_NO_SHA256
case 224:
digest_length= SHA224_DIGEST_LENGTH;
(void) SHA224(input_ptr, input_len, digest_buf);
break;
case 256:
case 0: // SHA-256 is the default
digest_length= SHA256_DIGEST_LENGTH;
(void) SHA256(input_ptr, input_len, digest_buf);
break;
#endif
default:
if (!args[1]->const_item())
push_warning_printf(current_thd,
MYSQL_ERROR::WARN_LEVEL_WARN,
ER_WRONG_PARAMETERS_TO_NATIVE_FCT,
ER(ER_WRONG_PARAMETERS_TO_NATIVE_FCT), "sha2");
null_value= TRUE;
return NULL;
}
/*
Since we're subverting the usual String methods, we must make sure that
the destination has space for the bytes we're about to write.
*/
str->realloc((uint) digest_length*2 + 1); /* Each byte as two nybbles */
/* Convert the large number to a string-hex representation. */
array_to_hex((char *) str->ptr(), digest_buf, digest_length);
/* We poked raw bytes in. We must inform the the String of its length. */
str->length((uint) digest_length*2); /* Each byte as two nybbles */
null_value= FALSE;
return str;
#else
push_warning_printf(current_thd,
MYSQL_ERROR::WARN_LEVEL_WARN,
ER_FEATURE_DISABLED,
ER(ER_FEATURE_DISABLED),
"sha2", "--with-ssl");
null_value= TRUE;
return (String *) NULL;
#endif
}
void Item_func_sha2::fix_length_and_dec()
{
maybe_null = 1;
max_length = 0;
#if defined(HAVE_OPENSSL)
int sha_variant= args[1]->const_item() ? args[1]->val_int() : 512;
switch (sha_variant) {
#ifndef OPENSSL_NO_SHA512
case 512:
max_length= SHA512_DIGEST_LENGTH*2;
break;
case 384:
max_length= SHA384_DIGEST_LENGTH*2;
break;
#endif
#ifndef OPENSSL_NO_SHA256
case 256:
case 0: // SHA-256 is the default
max_length= SHA256_DIGEST_LENGTH*2;
break;
case 224:
max_length= SHA224_DIGEST_LENGTH*2;
break;
#endif
default:
push_warning_printf(current_thd,
MYSQL_ERROR::WARN_LEVEL_WARN,
ER_WRONG_PARAMETERS_TO_NATIVE_FCT,
ER(ER_WRONG_PARAMETERS_TO_NATIVE_FCT), "sha2");
}
/*
The SHA2() function treats its parameter as being a case sensitive.
Thus we set binary collation on it so different instances of SHA2()
will be compared properly.
*/
args[0]->collation.set(
get_charset_by_csname(
args[0]->collation.collation->csname,
MY_CS_BINSORT,
MYF(0)),
DERIVATION_COERCIBLE);
#else
push_warning_printf(current_thd,
MYSQL_ERROR::WARN_LEVEL_WARN,
ER_FEATURE_DISABLED,
ER(ER_FEATURE_DISABLED),
"sha2", "--with-ssl");
#endif
}
/* Implementation of AES encryption routines */
@ -510,7 +650,6 @@ String *Item_func_des_encrypt::val_str(String *str)
return 0; // ENCRYPT(NULL) == NULL
if ((res_length=res->length()) == 0)
return &my_empty_string;
if (arg_count == 1)
{
/* Protect against someone doing FLUSH DES_KEY_FILE */
@ -583,7 +722,7 @@ error:
#else
push_warning_printf(current_thd,MYSQL_ERROR::WARN_LEVEL_WARN,
ER_FEATURE_DISABLED, ER(ER_FEATURE_DISABLED),
"des_encrypt","--with-openssl");
"des_encrypt", "--with-ssl");
#endif /* HAVE_OPENSSL */
null_value=1;
return 0;
@ -661,7 +800,7 @@ wrong_key:
#else
push_warning_printf(current_thd,MYSQL_ERROR::WARN_LEVEL_WARN,
ER_FEATURE_DISABLED, ER(ER_FEATURE_DISABLED),
"des_decrypt","--with-openssl");
"des_decrypt", "--with-ssl");
#endif /* HAVE_OPENSSL */
null_value=1;
return 0;

View file

@ -82,6 +82,18 @@ public:
const char *func_name() const { return "sha"; }
};
class Item_func_sha2 :public Item_str_func
{
public:
Item_func_sha2(Item *a, Item *b) :Item_str_func(a, b)
{
collation.set(&my_charset_bin);
}
String *val_str(String *);
void fix_length_and_dec();
const char *func_name() const { return "sha2"; }
};
class Item_func_aes_encrypt :public Item_str_func
{
public:

View file

@ -957,7 +957,9 @@ static void openssl_lock(int, openssl_lock_t *, const char *, int);
static unsigned long openssl_id_function();
#endif
char *des_key_file;
#ifndef EMBEDDED_LIBRARY
struct st_VioSSLFd *ssl_acceptor_fd;
#endif
#endif /* HAVE_OPENSSL */
/**
@ -1003,8 +1005,8 @@ static void clean_up_mutexes(void);
static void wait_for_signal_thread_to_end(void);
static void create_pid_file();
static void mysqld_exit(int exit_code) __attribute__((noreturn));
static void end_ssl();
#endif
static void end_ssl();
#ifndef EMBEDDED_LIBRARY
@ -1524,9 +1526,7 @@ void clean_up(bool print_message)
#endif
delete binlog_filter;
delete rpl_filter;
#ifndef EMBEDDED_LIBRARY
end_ssl();
#endif
vio_end();
#ifdef USE_REGEX
my_regex_end();
@ -3916,11 +3916,10 @@ static void openssl_lock(int mode, openssl_lock_t *lock, const char *file,
#endif /* HAVE_OPENSSL */
#ifndef EMBEDDED_LIBRARY
static void init_ssl()
{
#ifdef HAVE_OPENSSL
#ifndef EMBEDDED_LIBRARY
if (opt_use_ssl)
{
enum enum_ssl_init_error error= SSL_INITERR_NOERROR;
@ -3942,6 +3941,9 @@ static void init_ssl()
{
have_ssl= SHOW_OPTION_DISABLED;
}
#else
have_ssl= SHOW_OPTION_DISABLED;
#endif /* ! EMBEDDED_LIBRARY */
if (des_key_file)
load_des_key_file(des_key_file);
#endif /* HAVE_OPENSSL */
@ -3951,16 +3953,16 @@ static void init_ssl()
static void end_ssl()
{
#ifdef HAVE_OPENSSL
#ifndef EMBEDDED_LIBRARY
if (ssl_acceptor_fd)
{
free_vio_ssl_acceptor_fd(ssl_acceptor_fd);
ssl_acceptor_fd= 0;
}
#endif /* ! EMBEDDED_LIBRARY */
#endif /* HAVE_OPENSSL */
}
#endif /* EMBEDDED_LIBRARY */
static int init_server_components()
{
@ -6434,7 +6436,7 @@ static int show_table_definitions(THD *thd, SHOW_VAR *var, char *buff)
return 0;
}
#ifdef HAVE_OPENSSL
#if defined(HAVE_OPENSSL) && !defined(EMBEDDED_LIBRARY)
/* Functions relying on CTX */
static int show_ssl_ctx_sess_accept(THD *thd, SHOW_VAR *var, char *buff)
{
@ -6690,7 +6692,7 @@ static int show_ssl_get_cipher_list(THD *thd, SHOW_VAR *var, char *buff)
return 0;
}
#endif /* HAVE_OPENSSL */
#endif /* HAVE_OPENSSL && !EMBEDDED_LIBRARY */
/*
@ -6781,6 +6783,7 @@ SHOW_VAR status_vars[]= {
{"Sort_rows", (char*) offsetof(STATUS_VAR, filesort_rows), SHOW_LONG_STATUS},
{"Sort_scan", (char*) offsetof(STATUS_VAR, filesort_scan_count), SHOW_LONG_STATUS},
#ifdef HAVE_OPENSSL
#ifndef EMBEDDED_LIBRARY
{"Ssl_accept_renegotiates", (char*) &show_ssl_ctx_sess_accept_renegotiate, SHOW_FUNC},
{"Ssl_accepts", (char*) &show_ssl_ctx_sess_accept, SHOW_FUNC},
{"Ssl_callback_cache_hits", (char*) &show_ssl_ctx_sess_cb_hits, SHOW_FUNC},
@ -6804,6 +6807,7 @@ SHOW_VAR status_vars[]= {
{"Ssl_verify_depth", (char*) &show_ssl_get_verify_depth, SHOW_FUNC},
{"Ssl_verify_mode", (char*) &show_ssl_get_verify_mode, SHOW_FUNC},
{"Ssl_version", (char*) &show_ssl_get_version, SHOW_FUNC},
#endif
#endif /* HAVE_OPENSSL */
{"Table_locks_immediate", (char*) &locks_immediate, SHOW_LONG},
{"Table_locks_waited", (char*) &locks_waited, SHOW_LONG},
@ -7103,8 +7107,10 @@ static int mysql_init_variables(void)
#endif
#ifdef HAVE_OPENSSL
des_key_file = 0;
#ifndef EMBEDDED_LIBRARY
ssl_acceptor_fd= 0;
#endif
#endif /* ! EMBEDDED_LIBRARY */
#endif /* HAVE_OPENSSL */
#ifdef HAVE_SMEM
shared_memory_base_name= default_shared_memory_base_name;
#endif

68
sql/sha2.cc Normal file
View file

@ -0,0 +1,68 @@
/* Copyright (C) 2007 MySQL AB
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; version 2 of the License.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
/**
@file
A compatibility layer to our built-in SSL implementation, to mimic the
oft-used external library, OpenSSL.
*/
#include <my_global.h>
#include <sha2.h>
#ifdef HAVE_YASSL
/*
If TaoCrypt::SHA512 or ::SHA384 are not defined (but ::SHA256 is), it's
probably that neither of config.h's SIZEOF_LONG or SIZEOF_LONG_LONG are
64 bits long. At present, both OpenSSL and YaSSL require 64-bit integers
for SHA-512. (The SIZEOF_* definitions come from autoconf's config.h .)
*/
# define GEN_YASSL_SHA2_BRIDGE(size) \
unsigned char* SHA##size(const unsigned char *input_ptr, size_t input_length, \
char unsigned *output_ptr) { \
TaoCrypt::SHA##size hasher; \
\
hasher.Update(input_ptr, input_length); \
hasher.Final(output_ptr); \
return(output_ptr); \
}
/**
@fn SHA512
@fn SHA384
@fn SHA256
@fn SHA224
Instantiate an hash object, fill in the cleartext value, compute the digest,
and extract the result from the object.
(Generate the functions. See similar .h code for the prototypes.)
*/
# ifndef OPENSSL_NO_SHA512
GEN_YASSL_SHA2_BRIDGE(512);
GEN_YASSL_SHA2_BRIDGE(384);
# else
# warning Some SHA2 functionality is missing. See OPENSSL_NO_SHA512.
# endif
GEN_YASSL_SHA2_BRIDGE(256);
GEN_YASSL_SHA2_BRIDGE(224);
# undef GEN_YASSL_SHA2_BRIDGE
#endif /* HAVE_YASSL */

View file

@ -929,7 +929,7 @@ int acl_getroot(THD *thd, USER_RESOURCES *mqh,
if (acl_user)
{
/* OK. User found and password checked continue validation */
#ifdef HAVE_OPENSSL
#if defined(HAVE_OPENSSL) && !defined(EMBEDDED_LIBRARY)
Vio *vio=thd->net.vio;
SSL *ssl= (SSL*) vio->ssl_arg;
X509 *cert;
@ -946,7 +946,7 @@ int acl_getroot(THD *thd, USER_RESOURCES *mqh,
case SSL_TYPE_NONE: // SSL is not required
user_access= acl_user->access;
break;
#ifdef HAVE_OPENSSL
#if defined(HAVE_OPENSSL) && !defined(EMBEDDED_LIBRARY)
case SSL_TYPE_ANY: // Any kind of SSL is ok
if (vio_type(vio) == VIO_TYPE_SSL)
user_access= acl_user->access;

View file

@ -36,7 +36,7 @@
// reset_host_errors
#include "sql_acl.h" // acl_getroot, NO_ACCESS, SUPER_ACL
#ifdef HAVE_OPENSSL
#if defined(HAVE_OPENSSL) && !defined(EMBEDDED_LIBRARY)
/*
Without SSL the handshake consists of one packet. This packet
has both client capabilites and scrambled password.
@ -52,7 +52,7 @@
#define MIN_HANDSHAKE_SIZE 2
#else
#define MIN_HANDSHAKE_SIZE 6
#endif /* HAVE_OPENSSL */
#endif /* HAVE_OPENSSL && !EMBEDDED_LIBRARY */
/*
Get structure for logging connection data for the current user
@ -654,6 +654,7 @@ bool init_new_connection_handler_thread()
return 0;
}
#ifndef EMBEDDED_LIBRARY
/*
Perform handshake, authorize client and update thd ACL variables.
@ -667,7 +668,6 @@ bool init_new_connection_handler_thread()
> 0 error code (not sent to user)
*/
#ifndef EMBEDDED_LIBRARY
static int check_connection(THD *thd)
{
uint connect_errors= 0;
@ -749,7 +749,7 @@ static int check_connection(THD *thd)
#ifdef HAVE_COMPRESS
server_capabilites|= CLIENT_COMPRESS;
#endif /* HAVE_COMPRESS */
#ifdef HAVE_OPENSSL
#if defined(HAVE_OPENSSL)
if (ssl_acceptor_fd)
{
server_capabilites |= CLIENT_SSL; /* Wow, SSL is available! */
@ -827,7 +827,7 @@ static int check_connection(THD *thd)
if (thd->client_capabilities & CLIENT_IGNORE_SPACE)
thd->variables.sql_mode|= MODE_IGNORE_SPACE;
#ifdef HAVE_OPENSSL
#if defined(HAVE_OPENSSL)
DBUG_PRINT("info", ("client capabilities: %lu", thd->client_capabilities));
if (thd->client_capabilities & CLIENT_SSL)
{

View file

@ -1923,7 +1923,7 @@ static Sys_var_set Sys_sql_mode(
sql_mode_names, DEFAULT(0), NO_MUTEX_GUARD, NOT_IN_BINLOG,
ON_CHECK(check_sql_mode), ON_UPDATE(fix_sql_mode));
#ifdef HAVE_OPENSSL
#if defined(HAVE_OPENSSL) && !defined(EMBEDDED_LIBRARY)
#define SSL_OPT(X) CMD_LINE(REQUIRED_ARG,X)
#else
#define SSL_OPT(X) NO_CMD_LINE