Django内置加密工具:make_password与check_password用法详解

Nora
Nora
发布时间:2026-10-13 | 2人浏览过
原创

本文介绍Django框架提供的内置加密工具,重点讲解make_password和check_password函数的使用。通过具体代码示例,演示如何对原始密码进行加密处理以及验证密码是否匹配,帮助开发者快速掌握Django中的基础安全实践。

Django内置加密模块导入

在Django项目中处理用户密码时,首先需要导入相关的加密模块。Django提供了专门的哈希函数来处理密码安全,无需引入第三方库。通过导入,即可获取生成哈希值和校验密码的核心功能。


from django.contrib.auth.hashers import make_password, check_password

使用make_password进行密码加密

接下来进行实际的加密操作。以原始密码“1234”为例,调用make_password函数对其进行加密处理。该函数默认使用pbkdf2_sha256算法,并生成包含算法标识、迭代次数、盐值及哈希结果的字符串。例如,执行make_password('1234')后,返回类似pbkdf2_sha256$120000$S92tuv6RM7Ct$SwDIx5MYxahhSCFWf/OmA650rZTvqbW7QcbNLw/Oq/I=的加密字符串,确保原始密码不会以明文形式存储。


# 原密码 1234
password = '1234'
# 加密
make_password(password) # pbkdf2_sha256$120000$S92tuv6RM7Ct$SwDIx5MYxahhSCFWf/OmA650rZTvqbW7QcbNLw/Oq/I=


使用check_password校验密码

完成加密后,需验证用户输入的密码是否正确。使用check_password函数,传入用户输入的原始密码和之前生成的加密字符串。若两者匹配,函数返回True;否则返回False。例如,对加密后的pwd变量执行check_password('1234', pwd),可准确判断输入的“1234”是否与存储的哈希值对应,从而完成身份验证流程。


# 加密后的密码
pwd = 'pbkdf2_sha256$120000$S92tuv6RM7Ct$SwDIx5MYxahhSCFWf/OmA650rZTvqbW7QcbNLw/Oq/I='

# 校验密码 如果相同则返回True 否则返回False
check_password('1234',pwd)

以上即为Django中利用内置函数进行密码加密与校验的完整流程。通过make_password和check_password,开发者可以安全地处理用户凭证,避免明文存储风险。感谢阅读,希望本文对您的Django开发有所帮助。

相关标签:

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表