mirror of
				https://github.com/python/cpython.git
				synced 2025-11-03 23:21:29 +00:00 
			
		
		
		
	
		
			
	
	
		
			29 lines
		
	
	
	
		
			741 B
		
	
	
	
		
			Python
		
	
	
	
	
	
		
		
			
		
	
	
			29 lines
		
	
	
	
		
			741 B
		
	
	
	
		
			Python
		
	
	
	
	
	
| 
								 | 
							
								# Testing sha module (NIST's Secure Hash Algorithm)
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								import sha
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								# use the three examples from Federal Information Processing Standards
							 | 
						||
| 
								 | 
							
								# Publication 180-1, Secure Hash Standard,  1995 April 17
							 | 
						||
| 
								 | 
							
								# http://www.itl.nist.gov/div897/pubs/fip180-1.htm
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								s = [''] * 3
							 | 
						||
| 
								 | 
							
								d = [''] * 3
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								s[0] = 'abc'
							 | 
						||
| 
								 | 
							
								d[0] = 'a9993e364706816aba3e25717850c26c9cd0d89d'
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								s[1] = 'abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq'
							 | 
						||
| 
								 | 
							
								d[1] = '84983e441c3bd26ebaae4aa1f95129e5e54670f1'
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								s[2] = 'a' * 1000000
							 | 
						||
| 
								 | 
							
								d[2] = '34aa973cd4c4daa4f61eeb2bdbad27316534016f'
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								for i in range(3):
							 | 
						||
| 
								 | 
							
								    test = sha.new(s[i]).hexdigest()
							 | 
						||
| 
								 | 
							
								    if test == d[i]:
							 | 
						||
| 
								 | 
							
								        print "test %d ok" % i
							 | 
						||
| 
								 | 
							
								    else:
							 | 
						||
| 
								 | 
							
								        print "test %d failed" % i
							 | 
						||
| 
								 | 
							
								        print "expected", d[i]
							 | 
						||
| 
								 | 
							
								        print "computed", test
							 |