symbian-qemu-0.9.1-12/python-2.6.1/Lib/test/test_sha.py
changeset 1 2fb8b9db1c86
equal deleted inserted replaced
0:ffa851df0825 1:2fb8b9db1c86
       
     1 # Testing sha module (NIST's Secure Hash Algorithm)
       
     2 
       
     3 # use the three examples from Federal Information Processing Standards
       
     4 # Publication 180-1, Secure Hash Standard,  1995 April 17
       
     5 # http://www.itl.nist.gov/div897/pubs/fip180-1.htm
       
     6 
       
     7 import warnings
       
     8 warnings.filterwarnings("ignore", "the sha module is deprecated.*",
       
     9                         DeprecationWarning)
       
    10 
       
    11 import sha
       
    12 import unittest
       
    13 from test import test_support
       
    14 
       
    15 
       
    16 class SHATestCase(unittest.TestCase):
       
    17     def check(self, data, digest):
       
    18         # Check digest matches the expected value
       
    19         obj = sha.new(data)
       
    20         computed = obj.hexdigest()
       
    21         self.assert_(computed == digest)
       
    22 
       
    23         # Verify that the value doesn't change between two consecutive
       
    24         # digest operations.
       
    25         computed_again = obj.hexdigest()
       
    26         self.assert_(computed == computed_again)
       
    27 
       
    28         # Check hexdigest() output matches digest()'s output
       
    29         digest = obj.digest()
       
    30         hexd = ""
       
    31         for c in digest:
       
    32             hexd += '%02x' % ord(c)
       
    33         self.assert_(computed == hexd)
       
    34 
       
    35     def test_case_1(self):
       
    36         self.check("abc",
       
    37                    "a9993e364706816aba3e25717850c26c9cd0d89d")
       
    38 
       
    39     def test_case_2(self):
       
    40         self.check("abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq",
       
    41                    "84983e441c3bd26ebaae4aa1f95129e5e54670f1")
       
    42 
       
    43     def test_case_3(self):
       
    44         self.check("a" * 1000000,
       
    45                    "34aa973cd4c4daa4f61eeb2bdbad27316534016f")
       
    46 
       
    47     def test_case_4(self):
       
    48         self.check(chr(0xAA) * 80,
       
    49                    '4ca0ef38f1794b28a8f8ee110ee79d48ce13be25')
       
    50 
       
    51 def test_main():
       
    52     test_support.run_unittest(SHATestCase)
       
    53 
       
    54 
       
    55 if __name__ == "__main__":
       
    56     test_main()