2023年7月27日发(作者:)
Python-flask建⽴⽤户登录时密码加密⽅法Flask开发中的⽤户密码加密虽然MD5加盐加密挺流⾏的,但是据说hash加盐加密是⽆法破解的。那么我们就看看flask当中是这么使⽤哈希加密和验证的。from ty import generate_password_hashhash = generate_password_hash('xiaobao')from ty import check_password_hashcheck_password_hash(hash,'ereg')Falsecheck_password_hash(hash,'xiaobao')True当然,为了在flask当中使⽤更⽅便,数据库定义具体如下:class Users(Base): __tablename__ = 'users' id = Column(Integer, primary_key=True) username = Column(String(32)) _password_hash_ = Column(String(256)) # 加下划线作为私有函数,⽆法被外部访问。 @property def password(self): raise Exception('密码不能被读取') #为了保持使⽤习惯,还是设置⼀个password字段⽤来设置密码,当然也不能被读取。 # 赋值password,则⾃动加密存储。 @ def password(self, value): self._password_hash_ = generate_password_hash(value) # 使⽤check_password,进⾏密码校验,返回True False。 def check_password(self, pasword): return check_password_hash(self._password_hash_, pasword)# 新增⽤户new = Users(username='jack', password='xiaobao')db_(new)db_()# 查询⽤户tag = (me='jack').first()print(_password('xiaobao'))``
发布者:admin,转转请注明出处:http://www.yc00.com/news/1690463833a353098.html
评论列表(0条)