django 中自带的加密方法

导入django 自带的加密算法 和flask中的哈希加密有一曲同工之妙。
        from django.contrib.auth.hashers import make_password, check_password

make_password 用于密码的加密使用

  1. 参数1: 需要加密的字符串

2. 参数2: 是否每次都生成不同的加密串,默认为None, 如果给定任意一个字符串,

则表示每次生成相同的加密串。

3. 参数3: 表示加密算法,常见的加密算法如下:

‘pbkdf2_sha256’,  ‘pbkdf2_sha1‘,   ‘bcrypt_sha256‘,  ‘unsalted_md5‘ 等...

make_password("要加密的字符串"," 是否生成不同的加密串",”常用的的加密算法“)

check_password("原始的密码",”数据库查询的密码“)    返回值是个布尔类型

true 密码正确 ,false 密码错误

密码的加密使用:

pwd = make_password(‘123456‘, None, ‘pbkdf2_sha256‘)

print(pwd)

# 类似加密后的结果:

pbkdf2_sha256$12000$xzMLhCNvQbb8$i1XDnJIpb/cRRGRX2x7

验证密码:

  • check=check_password( ‘123456‘,pwd)

#pwd 是加密时的密码

判断类型是True/false

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

原文地址:https://www.cnblogs.com/liang715200/p/10565248.html

时间: 2024-11-08 07:27:26

django 中自带的加密方法的相关文章

CI框架中自带的加密解密如何应用

首先我们找到配置文件application/config/config.php  ,找到如下代码: ? 1 $config['encryption_key'] = "YOUR KEY"; 在控制器里面我们要调用加密类文件 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 $this->load->library('encrypt');//在控制器里面调用加密类 function pw

在网页中自带字体的方法

为了让网页更美观.更有个性,我们通常需要在网页中使用一些网上下载下来的字体,因为系统自带的字体可选择的余地早已无法满足人们对审美的要求. 怎么用?用户的电脑又没有安装你期望的那种字体.做成图片是可以,不过不方便修改啊,不能大幅度使用啊,不利于SEO啊,速度也比较慢点啊等等一大堆弊端.怎么办?别急,我们用CSS.CSS有这么一种优秀的功能,就是可以自定义字体.下面正式进入正题: CSS自定义字体,让你的字体运用随心所欲! 步骤: 1.下载所需字体.字体下载站提供的字体一般为.TTF格式. 2.字体

一文让你轻松了解JAVA开发中的四种加密方法

文章目录 一.工具类 md5加密工具类 base64加密工具类 Bcrypt工具类 二.加密测试 MD5加密测试 base64加密测试 SHA加密测试 BCrypt加密测试 一.工具类 1. md5加密工具类 package 加密Tester.util; import java.security.MessageDigest; public class MD5Utils { private static final String hexDigIts[] = {"0","1&qu

django中models的filter过滤方法

__gt     大于__gte   大于等于 __lt      小于 __lte    小于等于 __in     存在于一个list范围内 __startswith    以...开头 __istartswith   以...开头忽略大小写 __endswith     以...结尾 __iendswith    以...结尾,忽略大小写 __range   在...范围内 __year      日期字段的年份 __month   日期字段的月份 __day        日期字段的日

Django中使用Bootstrap展示树形结构

概述 在企业管理系统中,经常会有树形结构需求,例如:组织结构.权限等等,本文使用Django和Bootstrap Tree View来展示企业组织结构和对应组织的人员. 实现 模型类(models.py) class Department(models.Model): name = models.CharField(u'单位名称', max_length=30) pri = models.IntegerField(u'序号') desc = models.CharField(u'备注', max

装饰器 以及 django 中的应用

装饰器本质上是一个Python函数,它可以让其他函数在不需要做任何代码变动的前提下增加额外功能,装饰器的返回值也是一个函数对象.它经常用于有切面需求的场景,比如:插入日志.性能测试.事务处理.缓存.权限校验等场景.装饰器是解决这类问题的绝佳设计,有了装饰器,我们就可以抽离出大量与函数功能本身无关的雷同代码并继续重用. # 简单的 装饰器 from functools import wraps # 装饰器修复 def wrapper(func): @wraps(func) # 装饰器修复 def

Django中的sql注入

Django中防止SQL注入的方法 方案一总是使用Django自带的数据库API.它会根据你所使用的数据库服务器(例如PostSQL或者MySQL)的转换规则,自动转义特殊的SQL参数.这被运用到了整个Django的数据库API中,只有一些例外:传给 extra() 方法的 where 参数.  这个参数故意设计成可以接受原始的SQL.使用底层数据库API的查询. ## select提供简单数据 # SELECT age, (age > 18) as is_adult FROM myapp_pe

转:django中session的实现机制

转:www.jianshu.com 要理解session,首先要搞清楚cookie的概念.由于http是无状态的,服务器不能记住用户的信息状态,因此若由同一个客户端发起的多条请求,服务器不能辨别这些请求来自哪个用户.http无状态的限制为web应用程序的设计带来了许多不便,购物网站中的"购物车"功能就是一个很好的例子,当用户把商品放进购物车后,客户端必须要保存购物车的状态,否则当用户下次浏览网站时,购物车拥有的商品状态便不复存在.客户端和服务器必须有通信的媒介,方便服务器追踪客户端的状

django中自建app:user继承AbstractUser后报错:auth.User.groups: (fields.E304) Reverse accessor for 'User.groups' clashes with reverse accessor for 'UserProfile.groups'.

在django中当继承了AbstractUser from django.contrib.auth.models import AbstractUser class UserProfile(AbstractUser): pass 之后直接运行报错 SystemCheckError: System check identified some issues: ERRORS: auth.User.groups: (fields.E304) Reverse accessor for 'User.grou