1 #include <u.h>
2 #include <libc.h>
3 #include "libsec.h"
4
5 char *tests[] = {
6 "",
7 "a",
8 "abc",
9 "message digest",
10 "abcdefghijklmnopqrstuvwxyz",
11 "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",
12 "123456789012345678901234567890123456789012345678901234567890"
13 "12345678901234567890",
14 "abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq",
15 "abcdefghbcdefghicdefghijdefghijkefghijklfghijklmghijklmnhi"
16 "jklmnoijklmnopjklmnopqklmnopqrlmnopqrsmnopqrstnopqrstu",
17 0
18 };
19
20 void
main(void)21 main(void)
22 {
23 int i;
24 char **pp;
25 uchar *p;
26 uchar digest[SHA2_512dlen];
27
28 print("SHA2_224 tests:\n");
29 for(pp = tests; *pp; pp++){
30 p = (uchar*)*pp;
31 sha2_224(p, strlen(*pp), digest, 0);
32 for(i = 0; i < SHA2_224dlen; i++)
33 print("%2.2ux", digest[i]);
34 print("\n");
35 }
36
37 print("\nSHA256 tests:\n");
38 for(pp = tests; *pp; pp++){
39 p = (uchar*)*pp;
40 sha2_256(p, strlen(*pp), digest, 0);
41 for(i = 0; i < SHA2_256dlen; i++)
42 print("%2.2ux", digest[i]);
43 print("\n");
44 }
45
46 print("\nSHA384 tests:\n");
47 for(pp = tests; *pp; pp++){
48 p = (uchar*)*pp;
49 sha2_384(p, strlen(*pp), digest, 0);
50 for(i = 0; i < SHA2_384dlen; i++)
51 print("%2.2ux", digest[i]);
52 print("\n");
53 }
54
55 print("\nSHA512 tests:\n");
56 for(pp = tests; *pp; pp++){
57 p = (uchar*)*pp;
58 sha2_512(p, strlen(*pp), digest, 0);
59 for(i = 0; i < SHA2_512dlen; i++)
60 print("%2.2ux", digest[i]);
61 print("\n");
62 }
63 }
64