aboutsummaryrefslogtreecommitdiffstats
path: root/mediagoblin/tools/crypto.py
diff options
context:
space:
mode:
authorJessica Tallon <jessica@megworld.co.uk>2014-07-08 00:02:16 +0100
committerJessica Tallon <jessica@megworld.co.uk>2014-07-08 21:32:31 +0100
commitc5eb24b8349be7659a87123e792747b1a67cc269 (patch)
treef02dc1aecfa4b4e26f6d926aae7ad1bbf7321dd5 /mediagoblin/tools/crypto.py
parent27f99327313bda0dc5cebdb56d29a3347be1ac34 (diff)
downloadmediagoblin-c5eb24b8349be7659a87123e792747b1a67cc269.tar.lz
mediagoblin-c5eb24b8349be7659a87123e792747b1a67cc269.tar.xz
mediagoblin-c5eb24b8349be7659a87123e792747b1a67cc269.zip
Allow crypto.random_string to take optional alphabet param
Diffstat (limited to 'mediagoblin/tools/crypto.py')
-rw-r--r--mediagoblin/tools/crypto.py6
1 files changed, 3 insertions, 3 deletions
diff --git a/mediagoblin/tools/crypto.py b/mediagoblin/tools/crypto.py
index 917e674c..b219a484 100644
--- a/mediagoblin/tools/crypto.py
+++ b/mediagoblin/tools/crypto.py
@@ -27,8 +27,7 @@ from mediagoblin import mg_globals
_log = logging.getLogger(__name__)
# produces base64 alphabet
-alphabet = string.ascii_letters + "-_"
-base = len(alphabet)
+ALPHABET = string.ascii_letters + "-_"
# Use the system (hardware-based) random number generator if it exists.
# -- this optimization is lifted from Django
@@ -117,8 +116,9 @@ def get_timed_signer_url(namespace):
return itsdangerous.URLSafeTimedSerializer(__itsda_secret,
salt=namespace)
-def random_string(length):
+def random_string(length, alphabet=ALPHABET):
""" Returns a URL safe base64 encoded crypographically strong string """
+ base = len(alphabet)
rstring = ""
for i in range(length):
n = getrandbits(6) # 6 bytes = 2^6 = 64