You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@steve.apache.org by hu...@apache.org on 2015/03/21 10:57:01 UTC

svn commit: r1668219 - /steve/trunk/pytest/www/cgi-bin/lib/voter.py

Author: humbedooh
Date: Sat Mar 21 09:57:01 2015
New Revision: 1668219

URL: http://svn.apache.org/r1668219
Log:
cleanup and make voter ID a bit shorter. We don't need the full 512 bits here, 224 will do.

Modified:
    steve/trunk/pytest/www/cgi-bin/lib/voter.py

Modified: steve/trunk/pytest/www/cgi-bin/lib/voter.py
URL: http://svn.apache.org/viewvc/steve/trunk/pytest/www/cgi-bin/lib/voter.py?rev=1668219&r1=1668218&r2=1668219&view=diff
==============================================================================
--- steve/trunk/pytest/www/cgi-bin/lib/voter.py (original)
+++ steve/trunk/pytest/www/cgi-bin/lib/voter.py Sat Mar 21 09:57:01 2015
@@ -1,4 +1,4 @@
-import hashlib, json, random, os, sys
+import hashlib, json, random, os, sys, time
 from __main__ import homedir, config
 
 # SMTP Lib
@@ -21,20 +21,19 @@ def get(election, basedata, uid):
     return None
         
 def add(election, basedata, email):
-    uid = hashlib.sha512(email + basedata['hash'] + time.time() + random.randint(1,99999999)).hexdigest()
+    uid = hashlib.sha224("%s%s%s%s" % (email, basedata['hash'], time.time(), random.randint(1,99999999))).hexdigest()
     xhash = hashlib.sha512(basedata['hash'] + uid).hexdigest()
     elpath = os.path.join(homedir, "issues", election)
     with open(elpath + "/voters.json", "r") as f:
         voters = json.loads(f.read())
         f.close()
+    voters[email] = xhash
     with open(elpath + "/voters.json", "w") as f:
         f.write(json.dumps(voters))
         f.close()
     return uid, xhash
 
 def remove(election, basedata, email):
-    uid = hashlib.sha512(email + basedata['hash'] + time.time() + random.randint(1,99999999)).hexdigest()
-    xhash = hashlib.sha512(basedata['hash'] + uid).hexdigest()
     elpath = os.path.join(homedir, "issues", election)
     with open(elpath + "/voters.json", "r") as f:
         voters = json.loads(f.read())
@@ -44,7 +43,6 @@ def remove(election, basedata, email):
     with open(elpath + "/voters.json", "w") as f:
         f.write(json.dumps(voters))
         f.close()
-    return uid, xhash
 
 def hasVoted(election, issue, uid):
     issue = issue.strip(".json")