~ubuntu-branches/ubuntu/quantal/python2.7/quantal

« back to all changes in this revision

Viewing changes to Lib/hashlib.py

  • Committer: Bazaar Package Importer
  • Author(s): Matthias Klose
  • Date: 2011-05-30 06:44:23 UTC
  • mto: (27.1.6 oneiric) (36.1.11 sid)
  • mto: This revision was merged to the branch mainline in revision 32.
  • Revision ID: james.westby@ubuntu.com-20110530064423-zj6auh76957umtm4
Tags: upstream-2.7.2~rc1
ImportĀ upstreamĀ versionĀ 2.7.2~rc1

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
# $Id: hashlib.py 78528 2010-03-01 02:01:47Z gregory.p.smith $
 
1
# $Id$
2
2
#
3
3
#  Copyright (C) 2005   Gregory P. Smith (greg@krypto.org)
4
4
#  Licensed to PSF under a Contributor Agreement.
64
64
 
65
65
 
66
66
def __get_builtin_constructor(name):
67
 
    if name in ('SHA1', 'sha1'):
68
 
        import _sha
69
 
        return _sha.new
70
 
    elif name in ('MD5', 'md5'):
71
 
        import _md5
72
 
        return _md5.new
73
 
    elif name in ('SHA256', 'sha256', 'SHA224', 'sha224'):
74
 
        import _sha256
75
 
        bs = name[3:]
76
 
        if bs == '256':
77
 
            return _sha256.sha256
78
 
        elif bs == '224':
79
 
            return _sha256.sha224
80
 
    elif name in ('SHA512', 'sha512', 'SHA384', 'sha384'):
81
 
        import _sha512
82
 
        bs = name[3:]
83
 
        if bs == '512':
84
 
            return _sha512.sha512
85
 
        elif bs == '384':
86
 
            return _sha512.sha384
 
67
    try:
 
68
        if name in ('SHA1', 'sha1'):
 
69
            import _sha
 
70
            return _sha.new
 
71
        elif name in ('MD5', 'md5'):
 
72
            import _md5
 
73
            return _md5.new
 
74
        elif name in ('SHA256', 'sha256', 'SHA224', 'sha224'):
 
75
            import _sha256
 
76
            bs = name[3:]
 
77
            if bs == '256':
 
78
                return _sha256.sha256
 
79
            elif bs == '224':
 
80
                return _sha256.sha224
 
81
        elif name in ('SHA512', 'sha512', 'SHA384', 'sha384'):
 
82
            import _sha512
 
83
            bs = name[3:]
 
84
            if bs == '512':
 
85
                return _sha512.sha512
 
86
            elif bs == '384':
 
87
                return _sha512.sha384
 
88
    except ImportError:
 
89
        pass  # no extension module, this hash is unsupported.
87
90
 
88
91
    raise ValueError('unsupported hash type %s' % name)
89
92