本篇文章给人人带来的内容是关于Flask里援用哈希暗码的要领引见(附代码),有肯定的参考价值,有须要的朋侪能够参考一下,愿望对你有所协助。
哈希暗码(Password Hash):
对口令举行一次性的加密处置惩罚而构成的芜杂字符串。这个加密的历程被认为是不可逆的,也就是说,人们认为从哈希串中是不可能复原出原口令的。(这句话是比较官方的诠释)。
白话点说就是:当我们在注册账号暗码的时刻,须要用到,Password Hash 会将我们注册的暗码举行一次加密处置惩罚。然后当我们做登录操纵的时刻,会举行一次解密处置惩罚去和我们输入的暗码婚配。
在Flask中的运用:
1.导包
# 导包 from werkzeug.security import generate_password_hash,check_password_hash
个中: generate_password_hash 是生成暗码 ; check_password_hash 是暗码考证
2. 注册账号的时刻用到 generate_password_hash
@admin_blue.route('add_user')
defadd_user():
# Adminuser是数据库中一张表的名字 , user:注册的账号 pass_hash: 注册的暗码,此时注册的暗码的是 123
add_user=Adminuser(user='admin',pass_hash=generate_password_hash('123'))
db.session.add(add_user)
return'OK'
此时我们注册的暗码是“123”,当我们用到 generate_password_hash 将“123”加密的时刻,数据库内里就变成:
3. 我们既然已完成了注册,就轮到登录,当我们登录的时刻,在输入暗码的时刻,就须要用到 check_password_hash来解密,进而来考证暗码
# 登录 @admin_blue.route('/login',methods=['get','post']) def login(): if request.method=='POST': username=request.form.get('username') password=request.form.get('password') if not all([username,password]): flash('请输入账号和暗码') else: sqluser=Adminuser.query.filter(Adminuser.user==username).first() if not sqluser: flash('账号不正确') else: a=check_password_hash(sqluser.pass_hash,password) print(a) if a: session['admin_username']=username return redirect(url_for('admin.index')) else: flash('暗码不正确') return render_template('admin/login.html')
总之重点就在于: generate_password_hash 是生成暗码 ; check_password_hash 是暗码考证,其他的代码就是Flask中最简朴的注册、登录。
以上就是Flask里援用哈希暗码的要领引见(附代码)的细致内容,更多请关注ki4网别的相干文章!