当前位置: 首页 > news >正文

Django调用SECRET_KEY对数据进行加密

对数据进行加密

在Django中进行加密可以直接调用django配置文件中的SECRET_KEY , 同时还需要导入itsdangerous模块中的TimedJSONWebSignatureSerializer进行加密

1. 实现加密方法 , 生成用户加密链接

# 生成用户加密链接
def generate_verify_email_url(user):# 调研加密方法s = TJ(settings.SECRET_KEY , 600) # 加密方法 , 有效时间data = {'id' : user.id,'email' : user.email}# 进行加密token = s.dumps(data)# 获得加密链接token_url = settings.EMAIL_VERIFY_URL + "?token=" + token.decode()return token_url

3. 校验加密信息

def check_verify_email_url(token):# 对链接进行解密s = TJ(settings.SECRET_KEY , 600)data = s.loads(token)user_id = data.get('user_id')email = data.get('email')# 从数据库中获取邮箱 , 使用try语句防止查询报错try:user = User.objects.get(id=user_id ,email=email)except:return Noneelse:return user

三. 校验用户请求

当用户点击邮箱发送的链接会像服务器发送一个请求

# 校验邮箱信息
class VerifyEmailView(View):def get(self , request):token = request.GET.get('token')if not token:return HttpResponseForbidden('缺少必要参数')user = check_verify_email_url(token)if not user:return HttpResponseForbidden("用户不存在")# 盘带你邮箱是否验证码if user.email_active == 0:# 邮箱没有验证user.email_active = 1user.save()return redirect('user_info_center')else:return HttpResponseForbidden("该邮箱已经注册")

创建视图

# 验证邮箱path('verification/' , views.VerifyEmailView.as_view() ),
http://www.lryc.cn/news/343030.html

相关文章:

  • 芸众商城电商专业版400+插件源码+搭建教程
  • 【机器学习与实现】线性回归示例——波士顿房价分析
  • Redis核心数据结构——跳表(生成数据到文件和从文件中读取数据、模块合并、)
  • 微信小程序下载文件详解
  • 2024 概率论和数理统计/专业考试/本科考研/论文/重点公式考点汇总
  • 四川易点慧电子商务抖音小店:潜力无限的新零售风口
  • Seal^_^【送书活动第3期】——《Hadoop大数据分析技术》
  • win10下,svn上传.so文件失败
  • ubuntu20安装colmap
  • kubeflow简单记录
  • ARM的工作模式
  • 为家庭公网IP配置DDNS域名
  • QT-TCP通信
  • SparkSQL优化
  • STM32——基础篇
  • 【从零开始学架构 架构基础】架构设计的本质、历史背景和目的
  • Learning C# Programming with Unity 3D
  • 北京车展现场体验商汤DriveAGI自动驾驶大模型展现认知驱动新境界
  • 企业终端安全管理软件有哪些?终端安全管理软件哪个好?
  • Linux内核--设备驱动(七)媒体驱动框架整理--HDMI框架(2)
  • 3.3 Gateway之自定义过滤器
  • Skywalking数据持久化与自定义链路追踪
  • 设计模式之模板模式TemplatePattern(五)
  • 划重点!PMP报考条件、报考步骤、考试内容、适合人群
  • Java | Leetcode Java题解之第74题搜索二维矩阵
  • C#高级编程笔记-泛型
  • (超简单)SpringBoot中简单用工厂模式来实现
  • java中的条件、循环和scanner类
  • 【Qt QML】Frame组件
  • Web API之DOM