如何在Django应用中存储敏感用户数据?
在我的Django应用程序中,所有用户都有来自第三方服务的独特API密钥。现在我正在开发的功能需要根据当前用户来获取这个API密钥。
在这种情况下,有哪些最佳做法和选择呢?
1 个回答
0
你可以对你的API密钥进行加密,然后把它存储在数据库里。
这个 django库(由Jazzband维护)可以帮助你实现这个功能。
from encrypted_fields.fields import EncryptedTextField
class API_key(models.Model):
key = EncryptedTextField()
注意:
- 加密和解密是在django应用程序中进行的,而不是在数据库服务器上,因此某些功能,比如过滤,可能不会按预期工作。
- 加密字段不应该被
索引
、作为主键
或者有唯一
约束。