Python开发一个登录接口和注册接口实例

 

#_author:'hx'
#data:2020/12/3
import redis
import flask
import json
import hashlib
def CheckUserInRedis(username):
    ip = 'XXXXXX'
    password = 'XXXXX'
    r = redis.Redis(host=ip,password=password,port=6379,db=15,decode_responses=True)
    key = 'hx:'+username
    if key in r.keys():
        return True,key,r.get(key)
    else:
        return False,key,r.get(key)
def StoreInRedis(username,passwd):
    ip = 'XXXXXXX'
    password = 'XXXXXX'
    r = redis.Redis(host=ip, password=password, port=6379, db=15, decode_responses=True)
    key = 'hx:'+username
    max = 0
    dict = {}
    for V in r.keys():
        res = json.loads(r.get(V))
        if max < res['id']:
            max = res['id']
    dict['id'] = max+1
    dict['username'] = username
    dict['passwd'] = passwd
    dict['is_admin'] = 1
    res = json.dumps(dict)
    r.set(key, res)
def my_md5(s):
    news = str(s).encode()
    m = hashlib.md5(news)
    return m.hexdigest()
server = flask.Flask(__name__)
@server.route('/login',methods=['get'])
def login():
    uname = flask.request.values.get('username')
    pd = flask.request.values.get('passwd')
    condition, key, v = CheckUserInRedis(uname)
    dict = json.loads(v)
    pwd = my_md5(pd)
    if condition:
        password = dict['passwd']
        if pwd == password:
            return '{"code":0,"msg":"恭喜%s登录!"}'%uname
        else:
            return '{"code":100,"msg":"密码错误!"}'
    else:
        return '{"code":200,"msg":"用户不存在!"}'
@server.route('/register',methods=['get'])
def register():
    uname = flask.request.values.get('username')
    pd = flask.request.values.get('passwd')
    cpd = flask.request.values.get('cpasswd')
    condition, key, v = CheckUserInRedis(uname)
    pwd = my_md5(pd)
    cpwd = my_md5(cpd)
    if uname and pd and cpd:
        if condition:
            return '{"code":300,"msg":"注册用户已存在!"}'
        elif pwd != cpwd:
            return '{"code":400,"msg":"两次密码不一致!"}'
        else:
            StoreInRedis(uname,pwd)
            return '{"code":0,"msg":"恭喜注册成功!"}'
    else:
        return '{"code":600,"msg":"必填参数未填,请看接口文档!"}'
server.run(host='0.0.0.0',port=8000,debug=True)

 

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值