Django中的函数make_password、set_password和check_password

在Django中,有一些用于处理密码的常用函数,包括make_passwordset_passwordcheck_password。这些函数用于生成、设置和验证密码,但没有直接的get_password函数来获取用户的密码。

  1. make_password: make_password函数用于生成密码的哈希值。它接受一个明文密码作为输入,并返回其哈希值。这个哈希值通常用于将密码存储到数据库中。

     
    from django.contrib.auth.hashers import make_password
    password = 'my_password'
    hashed_password = make_password(password)
  2. set_password: set_password函数用于将用户的密码设置为哈希值。它接受一个明文密码作为输入,并将其哈希值存储到用户对象中。通常情况下,你会在创建用户或者用户更改密码时使用这个函数。

    from django.contrib.auth.models import User
    user = User.objects.get(username='my_username')
    user.set_password('my_new_password')
    user.save()
  3. check_password: check_password函数用于验证密码是否与哈希值匹配。它接受一个明文密码和一个哈希值作为输入,并返回一个布尔值,指示密码是否匹配。

    from django.contrib.auth.hashers import check_password
    password = 'my_password'
    hashed_password = '...' # 从数据库中获取的哈希值
    is_match = check_password(password, hashed_password)

这些函数提供了一种安全的方式来处理密码,同时保护用户的隐私和安全。但需要注意的是,Django没有提供直接的get_password函数来获取用户的密码,因为存储密码的安全最好是不可逆的。

posted @   侬侬发  阅读(420)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
历史上的今天:
2023-04-24 Django4全栈进阶之路16 项目实战(用户管理):user_list.html用户列表画面设计
2023-04-24 Django4全栈进阶之路15 项目实战(用户管理):login.html登录画面设计
2023-04-24 Django4全栈进阶之路14 项目实战(用户管理):base.html基础模板设计
2023-04-24 Django4全栈进阶之路13 template模板
点击右上角即可分享
微信分享提示