From 7e974f306adb82dd38cc4adc4adbe624619c6f1a Mon Sep 17 00:00:00 2001
From: root <root@raspberrypi.(none)>
Date: Fri, 3 Apr 2015 16:41:45 +0200
Subject: add lib

---
 lib/beaker/crypto/util.py | 30 ++++++++++++++++++++++++++++++
 1 file changed, 30 insertions(+)
 create mode 100644 lib/beaker/crypto/util.py

(limited to 'lib/beaker/crypto/util.py')

diff --git a/lib/beaker/crypto/util.py b/lib/beaker/crypto/util.py
new file mode 100644
index 000000000..d97e8ce6f
--- /dev/null
+++ b/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