首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如果我继承了django用户,为什么我的代码没有加密密码?

如果您继承了Django用户模型,并且发现您的代码中没有加密密码,可能有以下几个原因:

  1. 配置错误:在Django中,默认情况下,密码是以哈希方式存储在数据库中的。如果您的代码没有正确配置密码哈希算法,那么密码将以明文形式存储在数据库中。您可以通过在settings.py文件中设置PASSWORD_HASHERS来配置密码哈希算法,确保密码以安全的方式存储。
  2. 自定义用户模型:如果您自定义了用户模型,并且没有正确继承Django提供的AbstractBaseUser或AbstractUser类,那么密码加密的功能可能会丢失。确保您的自定义用户模型正确继承了Django提供的基础用户模型,并且使用了正确的密码哈希算法。
  3. 密码字段错误:检查您的代码中密码字段的定义是否正确。在Django中,默认的密码字段应该是password,并且使用PasswordFieldCharField来存储密码。确保您的密码字段名称和类型正确无误。
  4. 数据库迁移问题:如果您在继承Django用户模型后修改了密码字段的定义,可能需要进行数据库迁移才能生效。确保您已经运行了python manage.py makemigrationspython manage.py migrate命令来应用数据库的变更。

总结起来,如果您继承了Django用户模型但没有加密密码,可能是由于配置错误、自定义用户模型问题、密码字段错误或数据库迁移问题导致的。请仔细检查您的代码和配置,确保密码以安全的方式进行存储。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

我用Java代码模拟出了德国二战的Enigma密码机加密

其中最有名的就属于二战德国的Enigma密码机,号称永远不可能被破解(后面还是被破解了,笑) 恩尼格玛密码机Enigma是二战期间德国广泛使用的加密设备,其复杂的机械结构和加密算法在当时被认为是极其安全的...下面将详细解释这款密码机是如何对字母进行加密的 二、Enigma密码机加密原因 首先,我们先了解一下电路,其中包含了三样东西,电池、开关、灯;如下图 好的,当开关A按下,电路闭合,灯泡A亮起;非常简单的原因...那么我们不妨按下开关,会发生什么情况 当按下开关A,灯泡B亮了 当按下开关B,灯泡C亮了 当按下开关C,灯泡A亮了 到了这一步,你已经初步理解了Enigma密码机是如何工作的了,我在上面仅仅只有3个开关...新的问题出现了,如果仅仅只是这么简单的电路,那还达不到加密吧 确实,如同凯撒密码一般,如果仅仅只是将字母相互之间替换,语言学家会非常轻松地,将分析常用单词的高频字母,还原出原本的明文。...,但由于不知道正确的转子摆放位置,以及插接板的混淆情况 破解密码几乎是不肯能的,我们来试一下,如果转子位置不同,设置的插接板情况不一样会怎么样 package com.banmoon.enigma.optimize

40240

零基础使用Django2.0.1打造在线教育网站(九):初识后台管理

你可能会问,为什么会有这个页面,我可是什么操作也没干啊(一脸无辜)。对的,你确实什么也不用干,因为Django已经帮你做好了。...并在登录页面输入刚才注册的账号信息(默认登录方式是用户名 + 密码,后面会教你如何实现用户名或邮箱+密码登录的登录形式),点击登录,就进入后台了: 全是英文,我们去设置里配置一下:打开eduline...是用户所在表的名称: 点击右侧的增加用户信息: 我们看到一下信息: 我们尝试再次新建一个用户:NewBai: 新建成功了,同时注意Django会自动帮我们把密码进行加密...,而且不能反解,也就是说单向密码加密。...然后点击apply,最后是ok,这样你每次创建新的py文件以后,这些信息就都会出现在文件的头部了。怎么样,新技能Get了没有?

1.2K30
  • Django-中间件-csrf扩展请求伪造拦截中间件-Django Auth模块使用-效仿 django 中间件配置实现功能插拔式效果-09

    process_request 请求来的时候会依次执行 settings.py 配置文件中注册了的中间件里的该方法 如果没有该方法则直接跳过,走下一个中间件 如果该方法里返回了 HttpResponse...# @login_required # 自动校验当前用户是否登录,如果没有登录,(未传参数的情况下)默认跳转到 django 自带的登录页面(还是 404 ?)...(username=username, password=password) (这样密码没有加密) 核心代码 app01/views.py from django.shortcuts import render...import login_required # 修改用户密码 @login_required # 自动校验当前用户是否登录 如果没有登录 默认跳转到 一个莫名其妙的登陆页面 def set_password...is_right = request.user.check_password(old_password) # 将获取的用户密码 自动加密 然后去数据库中对比当前用户的密码是否一致

    1.4K50

    15.Django基础十一之认证系统

    其中一个往auth_user表里面添加数据的命令,可以先多添加几个用户,方便后面操作: python manage.py createsuperuser #要通过这个指令来创建用户,因为这个指令会将你的密码加密...比如,我想要加一个存储用户手机号的字段,怎么办?   聪明的你可能会想到新建另外一张表然后通过一对一和内置的auth_user表关联,这样虽然能满足要求但是有没有更好的实现方式呢?   ...django给我们自动创建的一张user表,而如果要用auth模块,就必须要使用(或继承)这张表。   这样既能根据项目需求灵活的设计用户表,又能使用Django强大的认证系统了。...,UserInfo表里就不需要有auth_user里重复的字段了,比如说username以及password等,但是还是可以直接使用这些字段的,并且django会自动将password进行加密   按上面的方式扩展了内置的...auth_user表之后,一定要在settings.py中告诉Django,我现在使用我新定义的UserInfo表来做用户认证。

    2.2K20

    python独立脚本应用Django项目的环境

    一、需求说明   一直用 Django 在开发一个网站项目,其中的注册用户和登录,都是使用Django自带的认证系统。...主要是对密码的加密,在注册或者登录的时候,前端传递多来的密码,我会使用Django的set_password()方法在加密一次   经过加密后的数据库中的数据样子如下:   现在我有另外一个需求,需要单独写一个脚本...,独立于这个Django项目,要实现的功能,就是在通过我单独写的python3,让用户通过这个脚本可以快读的创建Django项目中的用户。...其实需求很简单,就是通过python脚本,往Django数据库中写入数据而已,但是有一个困难点,就是密码要借用Django中的环境,不是说自己按照django的加密规则,自己加密就行了,因为这个加密的过程中...二、源码解释   为什么我使用的set_password(), 加密之后就必须要获取原来Django项目的环境呢?

    25640

    Python进阶35-Django Auth组件

    test页面,不管用户有没有登录都可以访问,因为没有登录的时候,可以用匿名用户访问,Django内置了一个登录认证的装饰器,如果没有登录,或者是匿名用户,可以跳转到指定的页面 模板层 的参数 ## login_url 如果没有登录,跳转到页面 但是如果装饰器需要传递参数,如果有一万个视图函数,我就要传递一万次参数?...因为密码是加密的,所以我们不能直接拿出来,还得用Django给我们写的方法。...我们可以通过继承内置的 AbstractUser 类,来定义一个自己的Model类。 这样既能根据项目需求灵活的设计用户表,又能使用Django强大的认证系统了。...auth_user表之后,一定要在settings.py中告诉Django,我现在使用我新定义的UserInfo表来做用户认证。

    55620

    为什么你要懂点信息安全(续一)

    (3) 即使满足了(2),如果你换台电脑,如果该电脑里没有你之前的私钥,那也看不了别人发过来的邮件。 很麻烦吧?安全的漏洞就产生在各种麻烦中,比如说「操作安全」。 任何软件都有漏洞。...所以,如果你用了这些框架:如django,rails,expressjs里面都会存用户名,数据库密码。理论上作者应该把这些敏感信息屏蔽,但实际呢?我们能否通过代码找到某个人常用的用户名和密码呢? ?...上图是我的脚本输出的信息。本来展示的信息要比图中的多得多,我可以直接打开有泄漏嫌疑的代码去进一步嗅探,但内容太多不好一一屏蔽,用gimp(有没有更好的mac下的免费p图工具?)...我还嗅探了一些不认识的人,发现github简直是找寻一个用户惯用用户名和密码的宝库。...整个过程中我没有用任何高深的黑客知识(在此方向我基本是个小白),但通过探寻人性的弱点,和一点点脚本能力(几十行代码而已),我就可以获取到一些关键信息。

    79470

    基于Django的电子商务网站开发(连载37)

    第4章 构建安全的网站 4.1 密码的加密 在第2.3.2节中提醒过大家,前面的代码是明文存储密码的,其实这是很危险的,在这里将对密码进行M5加密,以保证信息的安全。...注意:加密字符串mystr必须转为bytes,才可以被加密。然后在注册和登录代码中分别调用该方法。 ...#用户注册def register(request):......由于使用MD5对密码进行加密了,同样也需要对测试程序interface/util.py进行下调整。 ......在作者著作《软件测试技术实战 设计、工具及管理》一书中序言中曾经提及这么一件事情: “2000年我所在的公司与CCTV‘开心辞典’目组合作开发网上答题的项目,这是一个智力娱乐性节目,我编写了前端的答题代码...'的表单,然后在提交表单的时候验证cookie中的值是不是与hidden的值保持一致,如果保持一致,则返回200代码,否则返回403拒绝访问代码。

    50810

    python技术面试题(十九)--腾讯

    因为有一段时间没写代码了,对于框架的一些东西记忆并不是很清晰,我只记得当时使用Django框架并没有导包或者调用什么,而是直接写业务逻辑,所以我答的是“Django框架封装了ORM不需要额外安装扩展,可以直接使用...(也许这是面试官想听的吧,我关注点错误的放在了查询时导了什么包....) 5.多继承写法以及继承顺序问题。...多继承会继承所有父类的属性和方法。如果多个父类中有同名的属性和方法,则默认使用第一个父类的属性和方法。...学知识,多问一下为什么,多往底层走一步。比如列表底层实现(当然这次没有问这个)等等。SQL语句,往往简单的查询不会考,都是多张表联合查询,此次综合考了两个查询。...团队开发注意事项 浅谈密码加密 Django框架中的英文单词 Django中数据库的相关操作 DRF框架中的英文单词 重点内容回顾-DRF Django相关知识点回顾 美多商城项目导航帖

    3.8K40

    Python 格式化字符串漏洞(Django为例)

    但因为我们控制了格式化字符串的一部分,将会导致一些意料之外的问题。最简单的,比如: ? 输出了当前已登陆用户哈希过的密码。...看一下为什么会出现这样的问题:user是当前上下文中仅有的一个变量,也就是format函数传入的user=request.user,Django中request.user是当前用户对象,这个对象包含一个属性...password,也就是该用户的密码。...但Django仅仅是一个框架,在没有目标源码的情况下很难去挖掘信息,所以我的思路就是:去挖掘Django自带的应用中的一些路径,最终读取到Django的配置项。...所以,思路就很明确了:我们只需要通过某种方式,找到Django默认应用admin的model,再通过这个model获取settings对象,进而获取数据库账号密码、Web加密密钥等信息。

    1.6K20

    Django项目(二)

    2、视图views.py中代码的编写 注册模块属于用户,所以我们在xm_user下的views.py中编写代码,以下的代码都在xm_user的应用下 2.1、以前我们都是在views.py中都是一个方法一个方法的...代码一多,可能就乱了,本次引出一个新的概念,视图类。 顾名思义就是将一个请求规划成一个类。...,所以我这里就不多解释了,id在项目中是不能暴露出来的,所以需要加密。...今天和上篇的源代码,以及模板的html页面,我都会发给大家,目前只能加载注册页面的注册,主页和登陆页的图片和和样式还没有修改路径,所以显示不出来,下一节会教大家怎么修改。...另:这个页面真的是不好看,到现在还没搞清楚怎么把代码调成可以滑动的,如果有知道的欢迎后台回复我,虽然我自己的编辑页面是一行,但是到了手机上就不是一行了。

    73920

    【玩转腾讯云】django 开发Bug追踪平台之用户注册篇(基于腾讯云短信 & redis)

    前端页面中,注册和登录的页面基本相似,我们可以让这两个页面都继承自母版,做到代码重用 在 web 下创建一个 templates 文件夹,在 templates 文件夹下再创建一个 layout 文件夹放我们的母版文件...,要填写的数据有 - 用户名 - 邮箱 - 手机号 - 密码 在 web/models.py 文件中创建一个 UserInfo 类,代码如下 ```python from django.db...,但是,对于添加 form-control 属性,之后的代码中其他字段都要用到,每次使用for 循环添加很显然有些赘余,我们可以将其封装在一个类中,这样,需要添加样式的时候直接继承这个类就可以了。...,就可以将用户输入的验证码同redis中存的进行比较,且如果时间超过 60s,用户就要重新获取验证码 - redis的操作可以查看此篇文章: [redis 下载安装 & python 操作redis...,代码如下(前面代码部分同上,只是在js 中添加了 bindClickSubmit 函数,并让其在页面框架加载完成后自动执行)ajax请求这里我没有再写一个URL,而是复用了 /register/,只需要判断用户发的是哪种请求就可以

    26.9K88

    Django之auth模块(用户认证)

    auth模块简介 auth模块是对登录认证方法的一种封装,之前我们获取用户输入的用户名及密码后需要自己从user表里查询有没有用户名和密码符合的对象, 而有了auth模块之后就可以很轻松的去验证用户的登录信息是否存在于数据库中...auth django.contrib.auth中提供了许多方法,这里主要介绍其中的四个: 1 、authenticate()    提供了用户认证,即验证用户名以及密码是否正确,一般需要username...用户需要修改密码的时候 首先要让他输入原来的密码 ,如果给定的字符串通过了密码检查,返回 True 使用 set_password() 来修改密码 user = User.objects.get(username...这是django给我们自动创建的一张user表,而如果要用auth模块,就必须要使用(或继承)这张表。...需要注意的是,UserInfo表里就不需要有auth_user里重复的字段了,比如说username以及password等,但是还是可以直接使用这些字段的,并且django会自动将password进行加密

    1.7K50

    美多商城项目(四)

    我承认如今互联网带给我们极大的便利,但是真正从中学习的人又有多少呢?放下手机,发呆一会,思考一下自己的路。成功是因为什么,失败又是因为什么,善于总结,即使是失败,也是你一笔宝贵的财富。 ?...message只是普通的字符串正文,如果是多媒体正文,设置html_message。 7.发送邮件之前要生成一个验证链接。 注意:如果直接将用户的id放在验证链接中,可能会发生恶意的请求。...比如其他人在链接后面1,2,3.....一个接一个的尝试。解决办法就是将用户的信息进行加密,然后把加密之后的内容放在验证链接后面。...token=加密用户信息> 参数: 通过查询字符串传递加密用户信息> 响应: { "message":"OK" } 代码逻辑: 1.获取token并进行校验(...团队开发注意事项 浅谈密码加密 Django框架中的英文单词 Django中数据库的相关操作 DRF框架中的英文单词

    1.2K30

    美多商城前三天重点内容大盘点

    上面的虽然很好,但是并不适用于特殊情况,比如我们在项目中需要定义一个手机号的字段,我们可以继承Django自带的模型类,然后扩展我们需要的字段即可。...Nginx在转发的时候,有可能下次交给了其他服务器处理该用户的请求,然后就没有了给用户的一些信息,比如登录状态。)...认证后端类(登录账户支持用户名和手机号) 1. obtain_jwt_token登录视图中没有自己实现账户名和密码校验的代码,而是调用了Django认证系统中一个函数进行账户和密码的校验。...2.认证系统中的 authenticate from django.contrib.auth import authenticate 而 authenticate方法内容也没有自己实现账户和密码校验的代码...团队开发注意事项 浅谈密码加密 Django框架中的英文单词 Django中数据库的相关操作 DRF框架中的英文单词

    79220
    领券