美文网首页
Django用户模块密码加密

Django用户模块密码加密

作者: 临渊如峙 | 来源:发表于2018-05-03 19:15 被阅读0次

一、使用django默认的加密方法,即哈希算法

1、注册时加密

from django.contrib.auth.hashers import make_password

...
user.password = make_password(password)  # 明文密码经过加密处理
user.save()

2、登录验证

# 系统验证
from django.contrib.auth import authenticate

user = authenticate(username=username, password=password)

#手动验证
user.check_password(password)

二、自定义加密算法

1、md5算法

import hashlib

def calc_md5(password):
      md5_obj = hashlib.md5()
      md5_obj.update(password.encode('utf-8'))
      return md5_obj.hexdigest()

2、sha1算法

import hashlib

def calc_sha1(password):
      sha1_obj = hashlib.sha1()
      sha1_obj.update(password.encode('utf-8'))
      return sha1_obj.hexdigest()

3、 md5+salt(随机字符串)加密,防止查表法破解密码

import random
from hashlib import md5

# 获取由4位随机大小写字母、数字组成的salt值
def create_salt(length=4):
    salt = ''
    chars = 'AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz0123456789'
    len_chars = len(chars) - 1
    for index in range(length):
        salt += chars[random.randint(0, len_chars)]
    return salt

# 获取原始密码+salt的md5值
def create_md5(pwd, salt):
    md5_obj = md5()
    pwd = pwd.encode('utf-8')
    salt = salt.encode('utf-8')
    md5_obj.update(pwd + salt)
    return md5_obj.hexdigest()

相关文章

  • Django用户模块密码加密

    一、使用django默认的加密方法,即哈希算法 1、注册时加密 2、登录验证 二、自定义加密算法 1、md5算法 ...

  • 用户模块密码加密

    之前我们做了用户模块,但是忘记写了一些加密和鉴所以我们需要继续优化用户模块 BCrypt密码加密: 步骤一 需要在...

  • 数据库设计

    一、数据库设计 用户模块 用户表 user.User 用户ID、用户名、密码、邮箱、权限、激活继承自django的...

  • 'caching_sha2_password' cannot b

    django访问mysql数据库报错: mysql8.0用户密码加密方式为caching_sha2_passwor...

  • SVN+Apache搭建

    1.首先需要安装svn服务,apache,svn模块 2.添加用户,设置用户名密码 所设置的用户名和加密后的密码存...

  • python django 自定义用户 如何加密密码

    python+django中使用hashlib库对用户密码进行加密处理 使用hashlib库的sha1对数据进行加...

  • Django项目中添加ldap登陆认证功能

    最近在开发一个Django项目过程中,碰到了通过ldap认证用户登录的需求。由于之前都是自己写密码加密、用户登录等...

  • day09-用户管理-笔记

    Day10-用户管理 导读 今日内容1.为用户添加密码为新用户添加密码为用户变更密码密码怎么才算复杂小结2.用户的...

  • day9-用户和组(2)

    密码 1. 为新用户添加密码(只有root才能执行) 交互式添加密码 非交互式添加密码 通过脚本,批量添加用户 2...

  • Spring Security安全认证服务框架的简单应用(下)

    加密部分还没说。 前期我们的用户密码没有加密,现在添加用户时,我们需要对用户密码进行加密 第一步,需要在sprin...

网友评论

      本文标题:Django用户模块密码加密

      本文链接:https://www.haomeiwen.com/subject/cgplrftx.html