Django密码的哈希算法储存

2023-05-16

我们知道密码是用户的隐私数据,我们不能将真实的密码值储存在数据库中,这样是及其不安全的,因此我们可以用哈希算法来将一串明文密码转化为一串不可逆的值,也就是说即使有人拿到了数据库中的密码,也无法将其破解出明文,具体做法为:

import hashlib
m = hashlib.md5()
'''
md5可以相当于一个转化密码的工具
这个工具具有唯一性
也就是说,我们不能将这个对象用于两串密码的工具
否则将会对这两串密码拼接生成密文
md5为转码类型,也有其他类型,大多数都选择这个
'''
m.update(password.encode())
'''
由于update接收的必须是字节类型
因此应该先把字符串调用encode()函数转化为字节类型
'''
password_m = m.hexdigest()
#得到一个由32个16位数字组成的密文

这样将密码保存至数据库中后,我们在校验用户登录时只需要再将用户输入的密码转码后与之比较即可
要知道,只要密码改动一个数字,32个16位数全都会改变

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Django密码的哈希算法储存 的相关文章

  • IDEA中SpringBoot出错问题

    1 新建项目时 xff0c 出现 Error java 无效的标记 parameters 或者 Error java 无效的源发行版 13 等这些问题时 xff0c 需要看下project setting中的各种配置 xff0c 注意以下图
  • 程序 = 数据结构 + 算法

    我们编写程序的目的就是与真实世界交互 xff0c 解决真实世界的问题 xff0c 帮助真实世界提高运行效率与改善运行质量 所以我们就需要对真实世界事物体的重要属性进行提炼 xff0c 并映射到程序世界中 xff0c 这就是所谓的对真实世界的
  • C++中的::

    34 34 在C 43 43 中表示作用域 xff0c 和所属关系 34 34 是运算符中等级最高的 xff0c 它分为三种 xff0c 分别如下 xff1a 一 作用域符号 xff1a 作用域符号 的前面一般是类名称 xff0c 后面一般
  • Ubuntu16桌面版安装realsense SDK

    Ubuntu16桌面版安装realsense SDK 1 下载realsense master 官网下载连接 xff1a https github com IntelRealSense librealsense 2 解压realsense
  • 自动驾驶中使用到的坐标转换

    一 简介 1 1 地心地固直角坐标系 xff08 ECEF xff09 也叫地心地固直角坐标系 其原点为地球的质心 xff0c x轴延伸通过本初子午线 xff08 0度经度 xff09 和赤道 xff08 0deglatitude xff0
  • 自动驾驶坐标转换-北东地/东北天两种导航坐标系与姿态转换

    一 坐标系 1 导航坐标系 常用的导航坐标系有北东地和东北天两种 两种坐标系的指向分别定义如下 xff1a 1 1 北东地坐标系 X轴 xff1a 指北 Y轴 xff1a 指东 Z轴 xff1a 指地 1 2 东北天坐标系 X轴 xff1a
  • DMA 中断 查询三者的区别

    1 DMA xff08 DIRECT MEMORY ACCESS xff09 即直接存储器存取 xff0c 是指外部设备不通过CPU而直接与系统内存交换数据的接口技术 要把外设的数据读入内存或把内存的数据传送到外设 xff0c 一般都要通过
  • Linux 下 i2c switch(选路芯片mux) — pca9548

    作者 xff1a 韩大卫 64 吉林师范大学 现有的关于i2c switch 资料非常少 即使阅读完官方的datasheet 也不能写出完全正确的操作 因为内核中的驱动本身不是那么完善的 还有一些资料是单片机编程的 xff0c 可惜在lin
  • 栈区的地址增长方向与buf地址的增长方向是两个完全不同的概念

    一 栈区的地址增长方向 要想验证栈区究竟是开口向上还是开口向下 xff0c 都进行先压变量a再压变量b的操作 xff0c 若a的首地址比b的首地址大则说明开口向下 xff0c 若b的首地址比a的首地址大 xff0c 则说明开口向上 xff0
  • [转]www-authenticate认证过程浅析

    一 www authenticate简介 www authenticate是早期的一种简单的 xff0c 有效的用户身份认证技术 很多网站验证都采用这种简单的验证方式来完成对客户端请求的数据的合法性进行验证 尤其在嵌入式领域中 xff0c
  • 在vue的v-for中,key为什么不能用index?

    写在前面 在前端中 xff0c 主要涉及的基本上就是 DOM的相关操作 和 JS xff0c 我们都知道 DOM 操作是比较耗时的 xff0c 那么在我们写前端相关代码的时候 xff0c 如何减少不必要的 DOM 操作便成了前端优化的重要内
  • RVIZ可视化rosbag雷达数据

    ROS播包并RVIZ可视化Lidar数据 准备启动roscore启动rviz配置RVIZ可视化Lidar数据 准备 利用rosbag录制好的Lidar数据包 进入该目录 xff0c 查看该数据包的信息 键入如下命令 xff1a 关注type
  • Win7环境下彻底清除VBS病毒的教程

    说起VBS病毒 xff0c 可能很多用户并不了解 xff0c 但说起1kb快捷方式病毒 xff0c 用户一定有所耳闻 xff0c 甚至亲身经历 xff0c 这种1KB快捷方式病毒有一个名称叫 xff1a 暴风一号 TA可以通过U盘 MP4
  • 【Qt】【CMake】【CMakelists.txt】-用相对路径引入头文件

    Qt CMake希望能用相对路径方式引入自定义的头文件 1 自定义的头文件位置 假设 xff1a 自己写的头文件 xff0c 位置是 xff1a mylib include demo h 2 希望用 lt gt 相对路径来包含 main c
  • cuda学习笔记4——cuda 核函数

    cuda学习笔记4 cuda 核函数 一 CUDA规范二 核函数内部线程的使用2 1 如何启动核函数 demo 1 xff1a 起16个线程来计算 xff0c 四个线程块 xff0c 每个块内四个线程例子demo2 核函数是指在GPU端运行
  • nvidia-smi命令实时查看GPU使用、显存占用情况

    每1秒刷新一次 nvidia smi span class token parameter variable l span span class token number 1 span
  • cuda学习笔记5——CUDA实现图像形态学腐蚀、膨胀

    cuda学习笔记5 CUDA实现图像形态学腐蚀 膨胀 代码linux如何编译cuda和opencv代码耗时情况 代码 span class token comment include 34 cuda runtime h 34 span sp
  • linux查看系统内存占用排序以及VSZ、RSS内存的区别 什么是虚存、实存、共享内存

    按照内存大小显示前20个进程 span class token function ps span aux span class token parameter variable sort span span class token oper
  • C、C++ opencv基本函数

    读取并显示图片 span class token comment include lt iostream gt span span class token comment include lt opencv2 opencv hpp gt s
  • 谷歌编码规范积累

    谷歌编码规范 一 魔法数字 二 Never use sprintf Use snprintf instead runtime printf 5 三 Using C style cast Use reinterpret cast lt voi

随机推荐