diff options
Diffstat (limited to 'src/unit/md5.unit')
-rw-r--r-- | src/unit/md5.unit | 124 |
1 files changed, 62 insertions, 62 deletions
diff --git a/src/unit/md5.unit b/src/unit/md5.unit index 248aaaf..aaba113 100644 --- a/src/unit/md5.unit +++ b/src/unit/md5.unit | |||
@@ -12,71 +12,71 @@ | |||
12 | 12 | ||
13 | suite Md5 | 13 | suite Md5 |
14 | { | 14 | { |
15 | test basics | 15 | test basics |
16 | { | 16 | { |
17 | #define tryStr( a, b ) \ | 17 | #define tryStr( a, b ) \ |
18 | { Bu::Md5 m; m.addData(a); unitTest( m.getHexResult() == b ); } (void)0 | 18 | { Bu::Md5 m; m.addData(a); unitTest( m.getHexResult() == b ); } (void)0 |
19 | tryStr("", "d41d8cd98f00b204e9800998ecf8427e"); | 19 | tryStr("", "d41d8cd98f00b204e9800998ecf8427e"); |
20 | tryStr("a", "0cc175b9c0f1b6a831c399e269772661"); | 20 | tryStr("a", "0cc175b9c0f1b6a831c399e269772661"); |
21 | tryStr("abc", "900150983cd24fb0d6963f7d28e17f72"); | 21 | tryStr("abc", "900150983cd24fb0d6963f7d28e17f72"); |
22 | tryStr("message digest", "f96b697d7cb7938d525a2f31aaf161d0"); | 22 | tryStr("message digest", "f96b697d7cb7938d525a2f31aaf161d0"); |
23 | tryStr("abcdefghijklmnopqrstuvwxyz", | 23 | tryStr("abcdefghijklmnopqrstuvwxyz", |
24 | "c3fcd3d76192e4007dfb496cca67e13b"); | 24 | "c3fcd3d76192e4007dfb496cca67e13b"); |
25 | tryStr("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789", | 25 | tryStr("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789", |
26 | "d174ab98d277d9f5a5611c2c9f419d9f"); | 26 | "d174ab98d277d9f5a5611c2c9f419d9f"); |
27 | tryStr("12345678901234567890123456789012345" | 27 | tryStr("12345678901234567890123456789012345" |
28 | "678901234567890123456789012345678901234567890", | 28 | "678901234567890123456789012345678901234567890", |
29 | "57edf4a22be3c955ac49da2e2107b67a"); | 29 | "57edf4a22be3c955ac49da2e2107b67a"); |
30 | } | 30 | } |
31 | 31 | ||
32 | test twoChunks | 32 | test twoChunks |
33 | { | 33 | { |
34 | Bu::Md5 m; | 34 | Bu::Md5 m; |
35 | m.addData("12345678901234567890123456789012345"); | 35 | m.addData("12345678901234567890123456789012345"); |
36 | m.addData("678901234567890123456789012345678901234567890"); | 36 | m.addData("678901234567890123456789012345678901234567890"); |
37 | unitTest( m.getHexResult() == "57edf4a22be3c955ac49da2e2107b67a" ); | 37 | unitTest( m.getHexResult() == "57edf4a22be3c955ac49da2e2107b67a" ); |
38 | } | 38 | } |
39 | 39 | ||
40 | test biggerBlocks | 40 | test biggerBlocks |
41 | { | 41 | { |
42 | const char *sums[33] = { | 42 | const char *sums[33] = { |
43 | "75fcf199abe516903321095a588b938d", | 43 | "75fcf199abe516903321095a588b938d", |
44 | "e26a863c96d6bdba6601175aedaae108", | 44 | "e26a863c96d6bdba6601175aedaae108", |
45 | "2b207fdcb222078d3ebfeb8d5e7c9315", | 45 | "2b207fdcb222078d3ebfeb8d5e7c9315", |
46 | "b08683aaa465add72cc2b43ae42f4f70", | 46 | "b08683aaa465add72cc2b43ae42f4f70", |
47 | "638bb73963b2d925771c3579ccb5e879", | 47 | "638bb73963b2d925771c3579ccb5e879", |
48 | "c727bd4b48a88e3df5924a2604de0790", | 48 | "c727bd4b48a88e3df5924a2604de0790", |
49 | "f33d21203c80490f7342e5853c5550eb", | 49 | "f33d21203c80490f7342e5853c5550eb", |
50 | "db449faca66a177aae59b1e36a19d053", | 50 | "db449faca66a177aae59b1e36a19d053", |
51 | "c800d429afb5f5c820f75c2c94e2e2bb", | 51 | "c800d429afb5f5c820f75c2c94e2e2bb", |
52 | "43b79c70b9a6a11e823ffbfa0f45a4db", | 52 | "43b79c70b9a6a11e823ffbfa0f45a4db", |
53 | "0177ffc483cf598ae3966b3a5ae00c8c", | 53 | "0177ffc483cf598ae3966b3a5ae00c8c", |
54 | "1a68fdf4b17a3820d48d101e9355a818" | 54 | "1a68fdf4b17a3820d48d101e9355a818" |
55 | }; | 55 | }; |
56 | 56 | ||
57 | char block[128]; | 57 | char block[128]; |
58 | for( int i = 0; i < 128; i++ ) | 58 | for( int i = 0; i < 128; i++ ) |
59 | block[i] = i*2; | 59 | block[i] = i*2; |
60 | 60 | ||
61 | const char **curSum = sums; | 61 | const char **curSum = sums; |
62 | for( int j = 1; j < 4096; j*=2 ) | 62 | for( int j = 1; j < 4096; j*=2 ) |
63 | { | 63 | { |
64 | /* | 64 | /* |
65 | Bu::File fOut("temp", Bu::File::WriteNew ); | 65 | Bu::File fOut("temp", Bu::File::WriteNew ); |
66 | for( int b = 0; b < j; b++ ) | 66 | for( int b = 0; b < j; b++ ) |
67 | { | 67 | { |
68 | fOut.write( block, 128 ); | 68 | fOut.write( block, 128 ); |
69 | } | 69 | } |
70 | fOut.close(); | 70 | fOut.close(); |
71 | system("md5sum -b temp"); | 71 | system("md5sum -b temp"); |
72 | */ | 72 | */ |
73 | Bu::Md5 m; | 73 | Bu::Md5 m; |
74 | for( int b = 0; b < j; b++ ) | 74 | for( int b = 0; b < j; b++ ) |
75 | { | 75 | { |
76 | m.addData( block, 128 ); | 76 | m.addData( block, 128 ); |
77 | } | 77 | } |
78 | unitTest( m.getHexResult() == *curSum ); | 78 | unitTest( m.getHexResult() == *curSum ); |
79 | curSum++; | 79 | curSum++; |
80 | } | 80 | } |
81 | } | 81 | } |
82 | } | 82 | } |