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 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