mirror of
https://gitlab2.federez.net/re2o/re2o
synced 2024-08-20 14:13:41 +00:00
Meilleure gestion du AESField
This commit is contained in:
parent
754c43d331
commit
bbb8788276
2 changed files with 17 additions and 5 deletions
|
@ -27,6 +27,7 @@ def encrypt(key, s):
|
|||
def decrypt(key, s):
|
||||
obj = AES.new(key)
|
||||
ss = obj.decrypt(s)
|
||||
print(ss)
|
||||
return ss.split(bytes(EOD, 'utf-8'))[0]
|
||||
|
||||
|
||||
|
@ -35,10 +36,6 @@ class AESEncryptedField(models.CharField):
|
|||
setattr(instance, self.name,
|
||||
binascii.b2a_base64(encrypt(settings.AES_KEY, data)))
|
||||
|
||||
def value_from_object(self, obj):
|
||||
return decrypt(settings.AES_KEY,
|
||||
binascii.a2b_base64(getattr(obj, self.attname))).decode('utf-8')
|
||||
|
||||
def to_python(self, value):
|
||||
if value is None:
|
||||
return None
|
||||
|
@ -46,8 +43,21 @@ class AESEncryptedField(models.CharField):
|
|||
binascii.a2b_base64(value)).decode('utf-8')
|
||||
|
||||
def from_db_value(self, value, expression, connection, *args):
|
||||
|
||||
print('from db')
|
||||
print(value)
|
||||
if value is None:
|
||||
return value
|
||||
return decrypt(settings.AES_KEY,
|
||||
binascii.a2b_base64(value)).decode('utf-8')
|
||||
|
||||
def get_prep_value(self, value):
|
||||
print('get prep value')
|
||||
print(value)
|
||||
print(binascii.b2a_base64(encrypt(
|
||||
settings.AES_KEY,
|
||||
value
|
||||
)))
|
||||
return binascii.b2a_base64(encrypt(
|
||||
settings.AES_KEY,
|
||||
value
|
||||
))
|
||||
|
|
|
@ -21,7 +21,9 @@
|
|||
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
from django import template
|
||||
from preferences.models import OptionalUser, GeneralOption
|
||||
|
||||
register = template.Library()
|
||||
|
||||
@register.simple_tag
|
||||
def self_adhesion():
|
||||
options, _created = OptionalUser.objects.get_or_create()
|
||||
|
|
Loading…
Reference in a new issue