首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用EncryptedCharfield

如何使用EncryptedCharfield
EN

Stack Overflow用户
提问于 2013-11-13 10:18:19
回答 2查看 2K关注 0票数 3

是否有任何文档或示例/教程可以让EncryptedCharField在Django模型中工作?

我花了很多时间在django项目中安装django扩展+ keyczar等。没有文档如何安装它。

到目前为止,情况就是这样:

pip安装django-扩展

将“django_extensions”添加到INSTALLED_APPS中

pip安装python-keyczar

使用EncryptedCharField创建模型+添加字段

添加了ENCRYPTED_FIELD_KEYS_DIR =‘./enc-键’

下载KeyczarTool-0.71g-090613.jar

运行以下命令: java -jar KeyczarTool-0.71g-090613.jar创建-位置=./enc-键-=crypt-name=“first”-不对称=rsa

到目前为止还不错,但是当我运行服务器时,我会得到以下错误:

keyczar.errors.KeyNotFoundError:没有找到带有hash_val标识符的密钥。

代码语言:javascript
复制
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.

我不知道我做错了什么。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-11-13 13:07:14

找到了解决方案

创建后:

  • java -jar KeyczarTool-0.71g-090613.jar加载项-位置=./enc-键-状态=“主”-大小=2048年
票数 5
EN

Stack Overflow用户

发布于 2016-05-10 20:58:01

找到了使用OUT (puach)的解决方案

尝尝这个

代码语言:javascript
复制
bin/keyczart create --location=keys --purpose=crypt --name=models &&     bin/keyczart addkey --location=keys --status=primary

确保键是项目中的一个文件夹,可能/var/key?或者任何你喜欢的地方

干杯

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19951095

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档