Есть ли какая-либо документация или примеры/учебники, как заставить EncryptedCharField работать в модели Django?Как использовать EncryptedCharfield
Мне потребовалось время, чтобы установить django-extension + keyczar и т. Д. В проект django. Как его установить, нет документа.
Это то, что получило до сих пор:
пункта установить Django-расширение
добавил 'django_extensions' в INSTALLED_APPS
пункта установить питон-keyczar
создал + добавляемое поле модели с EncryptedCharField
добавлено ENCRYPTED_FIELD_KEYS_DIR = '../../../enc-keys'
скачано KeyczarTool-0,71 г-090613.jar
побежал следующую команду:. Java -jar KeyczarTool-0,71 г-090613.jar создать --location =/ENC-ключи --purpose = крипту - имя = «первый ключ» --asymmetric = RSA
до сих пор так хорошо, но когда я запускаю мой сервер я получаю следующее сообщение об ошибке:
keyczar.errors.KeyNotFoundError: ключ с hash_val идентификатором None не найден.
TRACEBACK
File "/Users/nv/Projects/project/models/client.py", line 78, in <module>
class Authorization(models.Model):
File "/Users/nv/Projects/project/models/client.py", line 86, in Authorization
iban_enc = EncryptedCharField(max_length=155)
File "/Users/nv/Projects/project/lib/python2.7/site-packages/django_extensions/db/fields/encrypted.py", line 121, in __init__
super(EncryptedCharField, self).__init__(*args, **kwargs)
File "/Users/nv/Projects/project/lib/python2.7/site-packages/django_extensions/db/fields/encrypted.py", line 32, in __init__
max_length = len(self.prefix) + len(self.crypt.Encrypt('x' * max_length))
File "/Users/nv/Projects/project/lib/python2.7/site-packages/keyczar/keyczar.py", line 338, in Encrypt
encrypting_key = self.primary_key
File "/Users/nv/Projects/project/lib/python2.7/site-packages/keyczar/keyczar.py", line 73, in <lambda>
primary_key = property(lambda self: self.GetKey(self.primary_version),
File "/Users/nv/Projects/project/lib/python2.7/site-packages/keyczar/keyczar.py", line 128, in GetKey
raise errors.KeyNotFoundError(key_id)
keyczar.errors.KeyNotFoundError: Key with hash_val identifier None not found.
Я не могу понять, что я делаю неправильно.
Если вы использовали keyczar в Python с Джанго, почему вы не использовали инструмент питона? 'keyczart create --location = keys --purpose = crypt --asymmetric = rsa' и 'keyczart addkey --location = keys --purpose = crypt --size = 2048 --status = primary'? – diegueus9
Просто сделал мой комментарий, потому что параметр размера не является обязательным, а иногда - проблемой в старых приложениях :) cheers – mullerivan