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