本包受django-encrypted-fields的启发。
项目描述
Django Fernet Encrypted Fields
此包是在django-encrypted-fields的基础上创建的。
入门指南
$ pip install django-fernet-encrypted-fields
在您的settings.py
中设置随机SALT_KEY
SALT_KEY = '0123456789abcdefghijklmnopqrstuvwxyz'
然后,在models.py
中
from encrypted_fields.fields import EncryptedTextField
class MyModel(models.Model):
text_field = EncryptedTextField()
像平常一样使用您的模型,您的数据将在数据库中被加密。
旋转SALT密钥
您可以通过将SALT_KEY
设置中的内容转换为列表来旋转密钥。第一个密钥将用于加密所有新数据,并且将按照给定密钥的顺序尝试解密现有值。这对于密钥轮换很有用:将新密钥放在列表的头部以用于所有新的或更改的数据,但使用旧密钥加密的现有值仍然可以访问。
SALT_KEY = [
'zyxwvutsrqponmlkjihgfedcba9876543210',
'0123456789abcdefghijklmnopqrstuvwxyz'
]
如果您想更新现有的加密记录,只需加载并重新保存模型以使用新密钥即可。
for obj in MuModel.objects.all():
obj.save()
可用字段
目前构建并单元测试过的字段。它们与它们的非加密版本具有相同的API。
EncryptedCharField
EncryptedTextField
EncryptedDateTimeField
EncryptedIntegerField
EncryptedFloatField
EncryptedEmailField
EncryptedBooleanField
EncryptedJSONField
兼容Django版本
兼容Django版本 | 具体测试 |
---|---|
2.2 |
:heavy_check_mark |
3.0 |
:heavy_check_mark |
3.1 |
:heavy_check_mark |
3.2 |
:heavy_check_mark |
4.0 |
:heavy_check_mark |
项目详情
关闭
django-fernet-encrypted-fields-0.1.3.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 8cd10033f0ba153d94f3245551e5beb1b90a149d90e69d98b4581bc65db23b7a |
|
MD5 | 6db7e806db56cac437c34cab5a052be1 |
|
BLAKE2b-256 | d5b9d5fec53d65603132f31c24cb5ed2d02c7a86f566dcaaa32e0e907f1d3fd3 |
关闭
django_fernet_encrypted_fields-0.1.3-py3-none-any.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 981be25b42d75dec502c71ddf93f15385ab56d18e0829867fb2ba717ae4dc216 |
|
MD5 | 53e1e3ffd13c4502f0583aeed7ffea83 |
|
BLAKE2b-256 | 9dfe6d29fce5e0cdc249190175c0c2e4844735b9bb2bfe832f235f129fee367c |