2016-11-25 17:18:40 +01:00
|
|
|
#include <u.h>
|
2017-04-19 23:33:14 +02:00
|
|
|
#include <lib9.h>
|
2016-11-25 17:18:40 +01:00
|
|
|
#include "libsec.h"
|
|
|
|
|
|
|
|
char *tests[] = {
|
|
|
|
"",
|
|
|
|
"a",
|
|
|
|
"abc",
|
|
|
|
"message digest",
|
|
|
|
"abcdefghijklmnopqrstuvwxyz",
|
|
|
|
"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",
|
|
|
|
"123456789012345678901234567890123456789012345678901234567890"
|
|
|
|
"12345678901234567890",
|
|
|
|
"abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq",
|
|
|
|
"abcdefghbcdefghicdefghijdefghijkefghijklfghijklmghijklmnhi"
|
|
|
|
"jklmnoijklmnopjklmnopqklmnopqrlmnopqrsmnopqrstnopqrstu",
|
|
|
|
0
|
|
|
|
};
|
|
|
|
|
|
|
|
void
|
|
|
|
main(void)
|
|
|
|
{
|
|
|
|
int i;
|
|
|
|
char **pp;
|
|
|
|
uint8_t *p;
|
|
|
|
uint8_t digest[SHA2_512dlen];
|
|
|
|
|
2017-04-19 23:33:14 +02:00
|
|
|
jehanne_print("SHA2_224 tests:\n");
|
2016-11-25 17:18:40 +01:00
|
|
|
for(pp = tests; *pp; pp++){
|
|
|
|
p = (uint8_t*)*pp;
|
2017-04-19 23:33:14 +02:00
|
|
|
sha2_224(p, jehanne_strlen(*pp), digest, 0);
|
2016-11-25 17:18:40 +01:00
|
|
|
for(i = 0; i < SHA2_224dlen; i++)
|
2017-04-19 23:33:14 +02:00
|
|
|
jehanne_print("%2.2ux", digest[i]);
|
|
|
|
jehanne_print("\n");
|
2016-11-25 17:18:40 +01:00
|
|
|
}
|
|
|
|
|
2017-04-19 23:33:14 +02:00
|
|
|
jehanne_print("\nSHA256 tests:\n");
|
2016-11-25 17:18:40 +01:00
|
|
|
for(pp = tests; *pp; pp++){
|
|
|
|
p = (uint8_t*)*pp;
|
2017-04-19 23:33:14 +02:00
|
|
|
sha2_256(p, jehanne_strlen(*pp), digest, 0);
|
2016-11-25 17:18:40 +01:00
|
|
|
for(i = 0; i < SHA2_256dlen; i++)
|
2017-04-19 23:33:14 +02:00
|
|
|
jehanne_print("%2.2ux", digest[i]);
|
|
|
|
jehanne_print("\n");
|
2016-11-25 17:18:40 +01:00
|
|
|
}
|
|
|
|
|
2017-04-19 23:33:14 +02:00
|
|
|
jehanne_print("\nSHA384 tests:\n");
|
2016-11-25 17:18:40 +01:00
|
|
|
for(pp = tests; *pp; pp++){
|
|
|
|
p = (uint8_t*)*pp;
|
2017-04-19 23:33:14 +02:00
|
|
|
sha2_384(p, jehanne_strlen(*pp), digest, 0);
|
2016-11-25 17:18:40 +01:00
|
|
|
for(i = 0; i < SHA2_384dlen; i++)
|
2017-04-19 23:33:14 +02:00
|
|
|
jehanne_print("%2.2ux", digest[i]);
|
|
|
|
jehanne_print("\n");
|
2016-11-25 17:18:40 +01:00
|
|
|
}
|
|
|
|
|
2017-04-19 23:33:14 +02:00
|
|
|
jehanne_print("\nSHA512 tests:\n");
|
2016-11-25 17:18:40 +01:00
|
|
|
for(pp = tests; *pp; pp++){
|
|
|
|
p = (uint8_t*)*pp;
|
2017-04-19 23:33:14 +02:00
|
|
|
sha2_512(p, jehanne_strlen(*pp), digest, 0);
|
2016-11-25 17:18:40 +01:00
|
|
|
for(i = 0; i < SHA2_512dlen; i++)
|
2017-04-19 23:33:14 +02:00
|
|
|
jehanne_print("%2.2ux", digest[i]);
|
|
|
|
jehanne_print("\n");
|
2016-11-25 17:18:40 +01:00
|
|
|
}
|
|
|
|
}
|