fix encoding of credentials
This commit is contained in:
parent
94b1b91a03
commit
8812444da0
|
@ -22,7 +22,7 @@ from Crypto import Random
|
|||
from django.db import models
|
||||
from django.conf import settings
|
||||
from django.utils.translation import ugettext_lazy as _
|
||||
from django.utils.encoding import force_bytes
|
||||
from django.utils.encoding import force_bytes, force_text
|
||||
|
||||
from jsonfield import JSONField
|
||||
|
||||
|
@ -58,10 +58,11 @@ class UserCredentials(models.Model):
|
|||
password_field_name = get_password_field()
|
||||
iv = Random.get_random_bytes(16)
|
||||
cipher = self._get_cipher(iv)
|
||||
password = self.locators.get(password_field_name, '').encode('utf-8')
|
||||
password = force_bytes(self.locators.get(password_field_name, ''))
|
||||
crypted = cipher.encrypt(password)
|
||||
self.locators[password_field_name] = '%s$%s' % (base64.b64encode(iv),
|
||||
base64.b64encode(crypted))
|
||||
self.locators[password_field_name] = '%s$%s' % (
|
||||
force_text(base64.b64encode(iv)),
|
||||
force_text(base64.b64encode(crypted)))
|
||||
return self.locators
|
||||
|
||||
def decrypt(self,):
|
||||
|
|
Reference in New Issue