【问题标题】:how to save the particular django model field as encrypted to database?如何将特定的 django 模型字段加密保存到数据库?
【发布时间】:2019-01-19 18:53:39
【问题描述】:

我在 Django 模型中有一个用户模型,密码是用户表中的字段之一。保存用户时,密码应加密保存到数据库中。 我正在使用 Django Rest Framework 发布用户,但我不想使用身份验证。

【问题讨论】:

  • Django 的默认身份验证模型将密码保存为 散列密码。您可以使用该功能
  • 参考这个链接,Password management in Django
  • 我需要不使用身份验证
  • 为什么要重新发明轮子?
  • 我想知道如何在没有身份验证的情况下做到这一点。

标签: django python-3.x


【解决方案1】:

Django 提供内置的用户身份验证。官方文档链接:https://docs.djangoproject.com/en/dev/topics/auth/

要回答您的问题,考虑到您不想/不能使用内置身份验证。您可以使用make_password 函数对密码字段进行加密。 Django Auth 使用相同的方法来加密和验证用户。

在保存模型之前,将加密密码设置为字段。最好在模型类本身中。

from django.contrib.auth.hashers import make_password
model.password = make_password(plaintext_password)
model.save()

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-07-07
    • 2014-04-02
    • 2020-07-11
    • 2014-01-01
    • 2018-11-03
    • 1970-01-01
    • 2017-10-11
    相关资源
    最近更新 更多