我有两种类型的 Django 服务器。一种是包含主数据库的中央服务器。只有其中一个。
然后有任意数量的客户端服务器包含自己的数据库。这些客户端数据库充当主数据库的缓存。
这用于用户。我有一个用户尝试登录客户端服务器 1,该服务器在其数据库中查找该用户。如果它不存在,它会发送到中央服务器并询问该服务器用户是否存在于主数据库中。如果是这样,中央服务器会返回用户信息,以便客户端服务器可以将其存储/缓存在自己的数据库中,然后将用户登录。用户每次连续尝试登录时,都会在客户端数据库中找到该用户并且它不再需要发送到中央服务器。
中央服务器以 JSON 格式返回用户信息,如下所示:
{
"username": "joe.bag.o.doughnuts",
"id": 143,
"password": "fksdfjfldskjf",
}
我的问题是密码。当我将值放在那里时user.password
,它使用该密码的加密版本。这很好,因为出于安全原因,我不希望在 http 连接中出现纯文本密码。但是,在客户端服务器上创建用户副本时,如何正确存储加密密码?User.objects.create(username=<retrieved_username>, password=<retrieved_password_which_is_already_encrypted>)
如果我将密码设置为加密文本(