diff --git a/requirements.txt b/requirements.txt index 59cc1d5..f4c3e8e 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1 +1,2 @@ gevent==0.13.7 +py-bcrypt==0.2 diff --git a/server.py b/server.py index e554382..aeaf3ee 100644 --- a/server.py +++ b/server.py @@ -3,6 +3,11 @@ def mangodb(socket, address): + if os.environ.get('MANGODB_USE_BCRYPT', False): + import bcrypt + else: + bcrypt = None + socket.sendall('HELLO\r\n') client = socket.makefile() output = open('/dev/null', 'w') @@ -19,7 +24,10 @@ def mangodb(socket, address): if os.environ.get('MANGODB_DURABLE', False): output.flush() os.fsync(output.fileno()) - client.write('OK' + os.urandom(1024).encode('string-escape') + '\r\n') + data = os.urandom(1024) + if os.environ.get('MANGODB_USE_BCRYPT', False): + data = bcrypt.hashpw(data.encode('string-escape'), bcrypt.gensalt()) + client.write('OK' + data.encode('string-escape') + '\r\n') client.flush()