Commit b9e51be1 authored by Michal Čihař's avatar Michal Čihař

Fix Captcha on Python 3

Signed-off-by: default avatarMichal Čihař <michal@cihar.com>
parent 9508a471
......@@ -25,6 +25,7 @@ from __future__ import unicode_literals
import ast
import binascii
from base64 import b64encode, b64decode
import hashlib
import operator
from random import randint, choice
......@@ -151,7 +152,7 @@ def hash_question(question, timestamp):
return '{0}{1}{2}'.format(
hexsha,
timestamp,
question.encode('base64')
b64encode(question.encode('utf-8')).decode('ascii')
)
......@@ -164,8 +165,8 @@ def unhash_question(question):
hexsha = question[:40]
timestamp = question[40:50]
try:
question = question[50:].decode('base64')
except binascii.Error:
question = b64decode(question[50:]).decode('utf-8')
except (binascii.Error, UnicodeError):
raise ValueError('Invalid encoding')
if hexsha != checksum_question(question, timestamp):
raise ValueError('Tampered question!')
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment