1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
|
package require critcl_md5c
#set pkgtest 1
#source ../../lib/critcl-md5c/md5c.tcl
proc md5c_try {} {
foreach {msg expected} {
""
"d41d8cd98f00b204e9800998ecf8427e"
"a"
"0cc175b9c0f1b6a831c399e269772661"
"abc"
"900150983cd24fb0d6963f7d28e17f72"
"message digest"
"f96b697d7cb7938d525a2f31aaf161d0"
"abcdefghijklmnopqrstuvwxyz"
"c3fcd3d76192e4007dfb496cca67e13b"
"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"
"d174ab98d277d9f5a5611c2c9f419d9f"
"12345678901234567890123456789012345678901234567890123456789012345678901234567890"
"57edf4a22be3c955ac49da2e2107b67a"
} {
puts "testing: md5 \"$msg\""
binary scan [md5c $msg] H* computed
puts "computed: $computed"
if {0 != [string compare $computed $expected]} {
puts "expected: $expected"
puts "FAILED"
}
}
foreach len {10 50 100 500 1000 5000 10000 50000 100000 500000 1000000} {
set blanks [format %$len.0s ""]
puts "input length $len: [time {md5c $blanks} 1000]"
}
}
md5c_try
|