Move lib/mudpy to mudpy for packaging preparation
[mudpy.git] / mudpy / password.py
diff --git a/mudpy/password.py b/mudpy/password.py
new file mode 100644 (file)
index 0000000..a34dab9
--- /dev/null
@@ -0,0 +1,19 @@
+"""Password hashing functions and constants for the mudpy engine."""
+
+# Copyright (c) 2004-2015 Jeremy Stanley <fungi@yuggoth.org>. Permission
+# to use, copy, modify, and distribute this software is granted under
+# terms provided in the LICENSE file distributed with this software.
+
+import passlib.context
+
+_CONTEXT = passlib.context.CryptContext(
+    all__vary_rounds=0.1, default="pbkdf2_sha512",
+    pbkdf2_sha512__default_rounds=1000, schemes=["pbkdf2_sha512"])
+
+
+def create(password):
+    return _CONTEXT.encrypt(password)
+
+
+def verify(password, encoded_hash):
+    return _CONTEXT.verify(password, encoded_hash)