Server IP : 23.254.227.96 / Your IP : 216.73.216.7 Web Server : Apache/2.4.62 (Unix) OpenSSL/1.1.1k System : Linux hwsrv-1277026.hostwindsdns.com 4.18.0-477.13.1.el8_8.x86_64 #1 SMP Tue May 30 14:53:41 EDT 2023 x86_64 User : viralblo ( 1001) PHP Version : 8.1.31 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /proc/self/root/usr/share/doc/libsodium-devel/ |
Upload File : |
#define TEST_NAME "generichash2" #include "cmptest.h" int main(void) { #define MAXLEN 64 crypto_generichash_state *st; unsigned char in[MAXLEN]; unsigned char out[crypto_generichash_BYTES_MAX]; unsigned char k[crypto_generichash_KEYBYTES_MAX]; size_t h, i, j; assert(crypto_generichash_statebytes() >= sizeof *st); st = (crypto_generichash_state *) sodium_malloc(crypto_generichash_statebytes()); for (h = 0; h < crypto_generichash_KEYBYTES_MAX; ++h) { k[h] = (unsigned char) h; } for (i = 0; i < MAXLEN; ++i) { in[i] = (unsigned char) i; if (crypto_generichash_init(st, k, 1 + i % crypto_generichash_KEYBYTES_MAX, 1 + i % crypto_generichash_BYTES_MAX) != 0) { printf("crypto_generichash_init()\n"); return 1; } crypto_generichash_update(st, in, i); crypto_generichash_update(st, in, i); crypto_generichash_update(st, in, i); if (crypto_generichash_final(st, out, 1 + i % crypto_generichash_BYTES_MAX) != 0) { printf("crypto_generichash_final() should have returned 0\n"); } for (j = 0; j < 1 + i % crypto_generichash_BYTES_MAX; ++j) { printf("%02x", (unsigned int) out[j]); } printf("\n"); if (crypto_generichash_final(st, out, 1 + i % crypto_generichash_BYTES_MAX) != -1) { printf("crypto_generichash_final() should have returned -1\n"); } } assert(crypto_generichash_init(st, k, sizeof k, 0U) == -1); assert(crypto_generichash_init(st, k, sizeof k, crypto_generichash_BYTES_MAX + 1U) == -1); assert(crypto_generichash_init(st, k, crypto_generichash_KEYBYTES_MAX + 1U, sizeof out) == -1); assert(crypto_generichash_init(st, k, 0U, sizeof out) == 0); assert(crypto_generichash_init(st, k, 1U, sizeof out) == 0); assert(crypto_generichash_init(st, NULL, 1U, 0U) == -1); assert(crypto_generichash_init(st, NULL, crypto_generichash_KEYBYTES, 1U) == 0); assert(crypto_generichash_init(st, NULL, crypto_generichash_KEYBYTES, 0U) == -1); sodium_free(st); return 0; }