从0开始python学习-54.python中flask创建MD5和base64加密校验的接口

news/2024/4/17 7:49:17

MD5加密接口

import hashlib
from flask import Flask, request, jsonify# 初始化一个flask的对象
app = Flask(__name__)# MD5加密校验数据请求
# 定义用户数据
user_data = [{"username": "admin1", "password": "E10ADC3949BA59ABBE56E057F20F883E"}, # 123456{"username": "admin2", "password": "C33367701511B4F6020EC61DED352059"} # 654321
]# 请求接口-form
@app.route("/post_md5",methods=['post'])
def post_MD5():username = request.form.get('username')password = request.form.get('password')if not username or not password:return jsonify({'error': '用户名和密码是必填项'})# 计算密码的MD5哈希值--注意user_data中的password是大写,所以这里需要转成大写hash_pwd = hashlib.md5(password.encode()).hexdigest().upper()# 遍历用户数据,匹配用户名和密码进行校验for user in user_data:if user['username'] == username and user['password'] == hash_pwd:return jsonify({'message': '登录成功'})return jsonify({'error': '用户名或密码不正确'})if __name__ == '__main__':app.run()

base64加密接口

# 初始化一个flask的对象
app = Flask(__name__)# 定义用户数据
user_data2 = [{"username": "admin1", "password": "MTIzNDU2"}, # 123456{"username": "admin2", "password": "NjU0MzIx"} # 654321
]
@app.route('/post_base64', methods=['POST'])
def post_base64():username = request.json.get('username')password = request.json.get('password')if not username or not password:return jsonify({'error': '用户名和密码是必填项'})# 进行 base64 编码encoded_password = base64.b64encode(password.encode()).decode()# 遍历用户数据,查找匹配的用户名和密码for user in user_data2:if user['username'] == username and user['password'] == encoded_password:return jsonify({'message': '登录成功'})return jsonify({'error': '用户名或密码不正确'})if __name__ == '__main__':app.run()

 

 


https://www.xjx100.cn/news/3293527.html

相关文章

【HarmonyOS】鸿蒙开发之Video组件——第3.7章

Video组件内VideoOptions属性简介 src:设置视频地址。currentProgressRate:设置视频播放倍速,参数说明如下: number|string:只支持 0.75 , 1.0 , 1.25 , 1.75 , 2.0 。P…

校门外的树

目录 题目描述 输入格式 输出格式 输入输出样例 说明/提示 解 题目描述 某校大门外长度为 l 的马路上有一排树,每两棵相邻的树之间的间隔都是 1 米。我们可以把马路看成一个数轴,马路的一端在数轴 0 的位置,另一端在 l 的位置&#xff…

ThreeJS 几何体顶点position、法向量normal及uv坐标

文章目录 几何体的顶点position、法向量normal及uv坐标UV映射UV坐标系UV坐标与顶点坐标设置UV坐标案例1:使用PlaneGeometry创建平面缓存几何体案例2:使用BufferGeometry创建平面缓存几何体 法向量 - 顶点法向量光照计算案例1:不设置顶点法向量…

Unity中URP实现水体(水的焦散)

文章目录 前言一、原理1、 通过深度图,得到 对应像素 在 世界空间下的Z值2、得到模型顶点在 观察空间 下的坐标3、由以上两点得到 深度图像素 对应的 xyz 值4、最后,转化到 模型本地空间下,用其对焦散纹理采样 二、实现1、获取深度图2、在顶点…

神经网络系列---卷积

文章目录 卷积神经网络卷积转置卷积 卷积核和反卷积的三种实现方式卷积的次数计算 卷积神经网络 在神经网络的卷积层中,向下取整(Floor)是一种常用的策略,特别是在处理输出尺寸不是整数的情况时。当你计算出卷积层输出的尺寸&…

网安入门16-XSS(三种类型)

什么是XSS漏洞——来自Google Gemini XSS漏洞,全称跨站脚本攻击(Cross-Site Scripting),是代码注入的一种。它允许恶意用户将代码注入到网页上,原理是攻击者将恶意代码注入到可信网站的页面中,当用户浏览该…

使用sunshine和moonlight实现远程游戏串流

过年回家想要打游戏,但是苦于家里没有电脑,又没办法把电脑搬回去,于是想到了使用串流的方式。 实现串流的软件有多种: moonlight。因为仅实现了 NVIDIA 的游戏串流协议,所以只支持 N 卡。Steam Link。支持 steam 的游…

Hive的Rank排名(rank函数,dense_rank函数,row_numer函数)

一、区别: 三者通常都会配合窗口函数over(),并结合partition by order by xxx来分组排序,即形式使用:function_name over(partition by xxx order by xxx)。首先三者都是产生一个自增序列,不同的是 row_number() 排序…