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