From eebac2b463b6e1db1f128d78b8151761c09448a6 Mon Sep 17 00:00:00 2001 From: RaNaN Date: Sat, 5 Feb 2011 20:07:24 +0100 Subject: beaker + jinja2 lib --- module/lib/beaker/crypto/util.py | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 module/lib/beaker/crypto/util.py (limited to 'module/lib/beaker/crypto/util.py') diff --git a/module/lib/beaker/crypto/util.py b/module/lib/beaker/crypto/util.py new file mode 100644 index 000000000..d97e8ce6f --- /dev/null +++ b/module/lib/beaker/crypto/util.py @@ -0,0 +1,30 @@ +from warnings import warn +from beaker import util + + +try: + # Use PyCrypto (if available) + from Crypto.Hash import HMAC as hmac, SHA as hmac_sha1 + sha1 = hmac_sha1.new + +except ImportError: + + # PyCrypto not available. Use the Python standard library. + import hmac + + # When using the stdlib, we have to make sure the hmac version and sha + # version are compatible + if util.py24: + from sha import sha as sha1 + import sha as hmac_sha1 + else: + # NOTE: We have to use the callable with hashlib (hashlib.sha1), + # otherwise hmac only accepts the sha module object itself + from hashlib import sha1 + hmac_sha1 = sha1 + + +if util.py24: + from md5 import md5 +else: + from hashlib import md5 -- cgit v1.2.3