struct.pack has become picky about h (short) and H (unsigned short).
[python/dscho.git] / Lib / test / test_sha.py
blobb2367dc1f51c4f17fdb6dc1e94338f256cf84347
1 # Testing sha module (NIST's Secure Hash Algorithm)
3 import sha
5 # use the three examples from Federal Information Processing Standards
6 # Publication 180-1, Secure Hash Standard, 1995 April 17
7 # http://www.itl.nist.gov/div897/pubs/fip180-1.htm
9 s = [''] * 3
10 d = [''] * 3
12 s[0] = 'abc'
13 d[0] = 'a9993e364706816aba3e25717850c26c9cd0d89d'
15 s[1] = 'abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq'
16 d[1] = '84983e441c3bd26ebaae4aa1f95129e5e54670f1'
18 s[2] = 'a' * 1000000
19 d[2] = '34aa973cd4c4daa4f61eeb2bdbad27316534016f'
21 for i in range(3):
22 test = sha.new(s[i]).hexdigest()
23 if test == d[i]:
24 print "test %d ok" % i
25 else:
26 print "test %d failed" % i
27 print "expected", d[i]
28 print "computed", test