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


    MD5加密接口

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

    base64加密接口

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

     

     

  • 相关阅读:
    学习笔记(15)跨域
    批量插入,部分参数为null,报sql语法错误解决方案
    ICC2:Design Planning(03)Power Network Synthesis
    IT外包驻场人员怎么定位自己的痛点?
    React学习(三)— React State和生命周期
    Task Computing【动态规划_牛客】
    学习笔记-ThinkPHP5之任意方法调用RCE(六)
    三天打鱼两天晒网
    数字摄影测量
    一篇文章彻底理解 HDFS 的安全模式
  • 原文地址:https://blog.csdn.net/Meseiter/article/details/136261089