]> git.dolda2000.com Git - wrw.git/commitdiff
Make session.gennonce more sound.
authorFredrik Tolf <fredrik@dolda2000.com>
Thu, 3 Apr 2014 04:02:40 +0000 (06:02 +0200)
committerFredrik Tolf <fredrik@dolda2000.com>
Thu, 3 Apr 2014 04:02:40 +0000 (06:02 +0200)
wrw/session.py

index 1e615e3d22b52cb4ded26acb05fd3cd4b8252b86..0c585a37bdd97d00551614a7c7590b58d7d76f59 100644 (file)
@@ -3,21 +3,12 @@ import cookie, env
 
 __all__ = ["db", "get"]
 
-def hexencode(str):
-    ret = ""
-    for byte in str:
-        ret += "%02X" % (ord(byte),)
-    return ret
-
 def gennonce(length):
-    nonce = ""
-    for i in xrange(length):
-        nonce += chr(random.randint(0, 255))
-    return nonce
+    return os.urandom(length)
 
 class session(object):
     def __init__(self, lock, expire=86400 * 7):
-        self.id = hexencode(gennonce(16))
+        self.id = gennonce(16).encode("hex")
         self.dict = {}
         self.lock = lock
         self.ctime = self.atime = self.mtime = int(time.time())