密码管理-libmodbus源码解析

时间:2024-07-14 01:47:25
【文件属性】:

文件名称:密码管理-libmodbus源码解析

文件大小:7.37MB

文件格式:PDF

更新时间:2024-07-14 01:47:25

PDF

11.9密码管理 如非必要,不要重新实现密码管理功能,Django 提供的功能足够安全和灵活。本节说明 Django 如何存储密 码、如何配置哈希方式,以及处理哈希密码的实用工具。 11.9.1 Django 如何存储密码 Django 提供了一个灵活的密码存储系统,默认使用 PBKDF2 算法。User对象的 password属性是这种格式的 字符串: $$$ 这是存储用户密码的各个部分,之间以美元符号分隔。各部分分别是:哈希算法、算法的迭代次数(工作系 数)、随机盐值和最终得到的密码哈希值。 algorithm是 Django 支持的某种单向哈希(或称“密码存储”)算法(参见下文)。iterations是在哈希值上 运用算法的次数。salt是使用的随机种子,而 hash是单向算法得到的结果。Django 默认使用 PBKDF2算法, 得到 SHA256 哈希值。这是 NIST推荐使用的密码增强机制,对多数用户来说足够了。这种算法相当安全, 需要用大量时间计算才能破解。然而,根据具体的需求,你可能想选择其他的算法,甚至自己动手实现一种 算法,满足特殊的安全条件。再次说明,多数用户无需这么做。如果你不确定自己该不该这么做,那有可能 就不需要。 如果确实需要这么做,请接着读:Django 根据 PASSWORD_HASHERS设置选择算法。这个设置的值是一个类列 表,列出你所安装的 Django 支持的哈希算法。其中第一个元素(即 settings.PASSWORD_HASHERS[0])用于存 储密码,其余的都可用于检查现有密码。 也就是说,如果想使用其他算法,要修改 PASSWORD_HASHERS设置,把你选择的算法列在第一位。PASS- WORD_HASHERS的默认值如下: PASSWORD_HASHERS = [ 'django.contrib.auth.hashers.PBKDF2PasswordHasher', 11.9 密码管理 - 171


网友评论