diff options
author | elie <elie> | 2009-08-21 16:10:34 +0000 |
---|---|---|
committer | elie <elie> | 2009-08-21 16:10:34 +0000 |
commit | b0f43040aac2da6c005f6cb726101445ec960eee (patch) | |
tree | 9befbd15af0c26c7bfcda69dc05a1566efb42845 | |
parent | b3362bbf33afa787c63ee80033fa36c535c165f2 (diff) | |
download | pysnmp-b0f43040aac2da6c005f6cb726101445ec960eee.tar.gz |
attempt to use hashlib whenever available
-rw-r--r-- | pysnmp/proto/secmod/rfc3414/auth/hmacmd5.py | 15 | ||||
-rw-r--r-- | pysnmp/proto/secmod/rfc3414/auth/hmacsha.py | 15 | ||||
-rw-r--r-- | pysnmp/proto/secmod/rfc3414/localkey.py | 15 |
3 files changed, 30 insertions, 15 deletions
diff --git a/pysnmp/proto/secmod/rfc3414/auth/hmacmd5.py b/pysnmp/proto/secmod/rfc3414/auth/hmacmd5.py index 5456ffc..76e2af1 100644 --- a/pysnmp/proto/secmod/rfc3414/auth/hmacmd5.py +++ b/pysnmp/proto/secmod/rfc3414/auth/hmacmd5.py @@ -1,4 +1,9 @@ -import string, md5 +try: + from hashlib import md5 +except ImportError: + import md5 + md5 = md5.new +import string from pysnmp.proto.secmod.rfc3414.auth import base from pysnmp.proto import error @@ -44,10 +49,10 @@ class HmacMd5(base.AbstractAuthenticationService): ) # 6.3.1.3 - d1 = md5.md5(k1+wholeMsg).digest() + d1 = md5(k1+wholeMsg).digest() # 6.3.1.4 - d2 = md5.md5(k2+d1).digest() + d2 = md5(k2+d1).digest() mac = d2[:12] # 6.3.1.5 & 6 @@ -89,10 +94,10 @@ class HmacMd5(base.AbstractAuthenticationService): ) # 6.3.2.5a - d1 = md5.md5(k1+authenticatedWholeMsg).digest() + d1 = md5(k1+authenticatedWholeMsg).digest() # 6.3.2.5b - d2 = md5.md5(k2+d1).digest() + d2 = md5(k2+d1).digest() # 6.3.2.5c mac = d2[:12] diff --git a/pysnmp/proto/secmod/rfc3414/auth/hmacsha.py b/pysnmp/proto/secmod/rfc3414/auth/hmacsha.py index 533a4bb..44a2106 100644 --- a/pysnmp/proto/secmod/rfc3414/auth/hmacsha.py +++ b/pysnmp/proto/secmod/rfc3414/auth/hmacsha.py @@ -1,4 +1,9 @@ -import string, sha +try: + from hashlib import sha1 +except ImportError: + import sha + sha1 = sha.new +import string from pysnmp.proto.secmod.rfc3414.auth import base from pysnmp.proto import error @@ -43,10 +48,10 @@ class HmacSha(base.AbstractAuthenticationService): ) # 7.3.1.3 - d1 = sha.sha(k1+wholeMsg).digest() + d1 = sha1(k1+wholeMsg).digest() # 7.3.1.4 - d2 = sha.sha(k2+d1).digest() + d2 = sha1(k2+d1).digest() mac = d2[:12] # 7.3.1.5 & 6 @@ -88,10 +93,10 @@ class HmacSha(base.AbstractAuthenticationService): ) # 7.3.2.5a - d1 = sha.sha(k1+authenticatedWholeMsg).digest() + d1 = sha1(k1+authenticatedWholeMsg).digest() # 7.3.2.5b - d2 = sha.sha(k2+d1).digest() + d2 = sha1(k2+d1).digest() # 7.3.2.5c mac = d2[:12] diff --git a/pysnmp/proto/secmod/rfc3414/localkey.py b/pysnmp/proto/secmod/rfc3414/localkey.py index fced482..018f724 100644 --- a/pysnmp/proto/secmod/rfc3414/localkey.py +++ b/pysnmp/proto/secmod/rfc3414/localkey.py @@ -1,9 +1,14 @@ # Convert plaintext passphrase into a localized key -import md5, sha +try: + from hashlib import md5, sha1 +except ImportError: + import md5, sha + md5 = md5.new + sha1 = sha.new # RFC3414: A.2.1 def hashPassphraseMD5(passphrase): - md = md5.new() + md = md5() ringBuffer = passphrase * (64/len(passphrase)+1) ringBufferLen = len(ringBuffer) count = 0 @@ -22,14 +27,14 @@ def hashPassphraseMD5(passphrase): return md.digest() def localizeKeyMD5(passKey, snmpEngineId): - return md5.new('%s%s%s' % (passKey, str(snmpEngineId), passKey)).digest() + return md5('%s%s%s' % (passKey, str(snmpEngineId), passKey)).digest() def passwordToKeyMD5(passphrase, snmpEngineId): return localizeKeyMD5(hashPassphraseMD5(passphrase), snmpEngineId) # RFC3414: A.2.2 def hashPassphraseSHA(passphrase): - md = sha.new() + md = sha1() ringBuffer = passphrase * (64/len(passphrase)+1) ringBufferLen = len(ringBuffer) count = 0 @@ -48,7 +53,7 @@ def hashPassphraseSHA(passphrase): return md.digest() def localizeKeySHA(passKey, snmpEngineId): - return sha.new('%s%s%s' % (passKey, str(snmpEngineId), passKey)).digest() + return sha1('%s%s%s' % (passKey, str(snmpEngineId), passKey)).digest() def passwordToKeySHA(passphrase, snmpEngineId): return localizeKeySHA(hashPassphraseSHA(passphrase), snmpEngineId) |