Flask里引用哈希密码的方法介绍(附代码)
Mar 06, 2019 pm 02:03 PM
本篇文章给大家带来的内容是关于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
<span style="font-size: 15px;">@admin_blue.route('add_user') defadd_user():<br/># Adminuser是数据库中一张表的名字 , user:注册的账号 pass_hash: 注册的密码,此时注册的密码的是 123 add_user=Adminuser(user='admin',<span style="color: #ff0000;"><strong>pass_hash=generate_password_hash('123')</strong></span>) db.session.add(add_user) return'OK'</span>
此时我们注册的密码是“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中最简单的注册、登录。
Atas ialah kandungan terperinci Flask里引用哈希密码的方法介绍(附代码). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Artikel Panas

Alat panas Tag

Artikel Panas

Tag artikel panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Cara membina aplikasi web yang ringkas dan mudah digunakan dengan React dan Flask

Mulakan dari awal dan bimbing anda langkah demi langkah untuk memasang Flask dan segera buat blog peribadi

Panduan untuk memasang rangka kerja Flask: Langkah terperinci untuk membantu anda memasang Flask dengan betul

Penyepaduan Flask dan Intellij IDEA: Petua pembangunan aplikasi web Python (Bahagian 2)

Django vs. Flask: Analisis perbandingan rangka kerja web Python

Flask vs FastAPI: Pilihan terbaik untuk pembangunan API Web yang cekap

Flask-RESTful dan Swagger: Amalan terbaik untuk membina API RESTful dalam aplikasi web Python (Bahagian 2)

Bina aplikasi web visualisasi data interaktif menggunakan Flask dan D3.js
