From 4408f5f02ff16f2b24474afcdbf94d651d89cca7 Mon Sep 17 00:00:00 2001 From: Iker Pedrosa Date: Sun, 1 Feb 2026 15:11:20 +0100 Subject: [PATCH] tests/unit/test_chkhash.c: add SHA-512 hash validation tests Add comprehensive SHA-512 algorithm validation tests covering rounds and salt cases. Signed-off-by: Iker Pedrosa --- tests/unit/test_chkhash.c | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/tests/unit/test_chkhash.c b/tests/unit/test_chkhash.c index 34820eabd..66a6ed601 100644 --- a/tests/unit/test_chkhash.c +++ b/tests/unit/test_chkhash.c @@ -64,12 +64,36 @@ test_is_valid_hash_ok_bcrypt(void **) } +static void +test_is_valid_hash_ok_sha512(void **) +{ + // Basic SHA-512 hash: $6$ + salt + $ + 86 character hash + assert_true(is_valid_hash("$6$salt$abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890./abcdefghijklmnopqrstuv")); + + // SHA-512 with rounds parameter + assert_true(is_valid_hash("$6$rounds=5000$salt$abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890./abcdefghijklmnopqrstuv")); + + // SHA-512 with minimum rounds (1000) + assert_true(is_valid_hash("$6$rounds=1000$salt$abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890./abcdefghijklmnopqrstuv")); + + // SHA-512 with maximum rounds (999999999) + assert_true(is_valid_hash("$6$rounds=999999999$salt$abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890./abcdefghijklmnopqrstuv")); + + // SHA-512 with minimum salt length (1 character) + assert_true(is_valid_hash("$6$a$abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890./abcdefghijklmnopqrstuv")); + + // SHA-512 with maximum salt length (16 characters) + assert_true(is_valid_hash("$6$sixteencharsaltx$abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890./abcdefghijklmnopqrstuv")); +} + + int main(void) { const struct CMUnitTest tests[] = { cmocka_unit_test(test_is_valid_hash_ok_yescrypt), cmocka_unit_test(test_is_valid_hash_ok_bcrypt), + cmocka_unit_test(test_is_valid_hash_ok_sha512), }; return cmocka_run_group_tests(tests, NULL, NULL); -- 2.47.3