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

MD5加密接口

python 复制代码
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加密接口

python 复制代码
# 初始化一个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()
相关推荐
xqqxqxxq几秒前
树结构技术学习笔记
数据结构·笔记·学习
掘金者阿豪几秒前
运营不会SQL怎么办?我把数据库变成了大家都会用的表格
后端
Deep-w9 分钟前
【MATLAB】基于离散 LQR 的车辆横向轨迹跟踪控制方法研究
开发语言·算法·matlab
wheninger13 分钟前
DDD 聚合 × Agent 命令:那道拒绝 AI 的墙
后端
2601_9611940214 分钟前
考研资料电子版|去哪找|网盘
java·c语言·c++·python·考研·php
狂炫冰美式16 分钟前
AI 生成 Draw.io,导入飞书/Lark 画板后可编辑
前端·人工智能·后端
于先生吖17 分钟前
前后端分离二手商城开发,质检登记、回收回款整套业务源码部署教程
java·开发语言·uni-app
veminhe19 分钟前
关于下载pip install faiss-cpu失败的问题
python·pip·faiss
codeejun20 分钟前
每日一Go-76(架构篇)|多集群部署 / 容灾 / Failover / Backup / 热迁移
开发语言·架构·golang
战族狼魂20 分钟前
从零构建企业级Hermes-Agent:复杂任务拆解、工具协同与安全落地实践
开发语言·人工智能·python