0,0 → 1,64 |
# -*- coding: utf-8 -*- |
# |
# SelfTest/Hash/MD5.py: Self-test for the MD5 hash function |
# |
# ======================================================================= |
# Copyright (C) 2008 Dwayne C. Litzenberger <dlitz@dlitz.net> |
# |
# Permission is hereby granted, free of charge, to any person obtaining |
# a copy of this software and associated documentation files (the |
# "Software"), to deal in the Software without restriction, including |
# without limitation the rights to use, copy, modify, merge, publish, |
# distribute, sublicense, and/or sell copies of the Software, and to |
# permit persons to whom the Software is furnished to do so. |
# |
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS |
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT |
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR |
# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT |
# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT |
# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
# ======================================================================= |
# |
|
"""Self-test suite for CryptoPlus.Hash.MD5""" |
|
__revision__ = "$Id$" |
|
# This is a list of (expected_result, input[, description]) tuples. |
test_data = [ |
# Test vectors from RFC 1321 |
('d41d8cd98f00b204e9800998ecf8427e', '', "'' (empty string)"), |
('0cc175b9c0f1b6a831c399e269772661', 'a'), |
('900150983cd24fb0d6963f7d28e17f72', 'abc'), |
('f96b697d7cb7938d525a2f31aaf161d0', 'message digest'), |
|
('c3fcd3d76192e4007dfb496cca67e13b', 'abcdefghijklmnopqrstuvwxyz', |
'a-z'), |
|
('d174ab98d277d9f5a5611c2c9f419d9f', |
'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789', |
'A-Z, a-z, 0-9'), |
|
('57edf4a22be3c955ac49da2e2107b67a', |
'1234567890123456789012345678901234567890123456' |
+ '7890123456789012345678901234567890', |
"'1234567890' * 8"), |
] |
|
def get_tests(): |
from CryptoPlus.Hash import MD5 |
from common import make_hash_tests |
return make_hash_tests(MD5, "MD5", test_data) |
|
if __name__ == '__main__': |
import unittest |
suite = lambda: unittest.TestSuite(get_tests()) |
unittest.main(defaultTest='suite') |
|
# vim:set ts=4 sw=4 sts=4 expandtab: |