Cet article vous apporte une introduction à la méthode de citation de mots de passe hachés dans Flask (avec code), qui a une certaine valeur de référence, amis dans le besoin Je peux m'y référer, j'espère que cela vous sera utile.
Password Hash :
Une chaîne désordonnée formée par un cryptage unique du mot de passe. Ce processus de cryptage est considéré comme irréversible, c'est-à-dire qu'il est considéré comme impossible de restaurer le mot de passe d'origine à partir de la chaîne de hachage. (Cette phrase est une explication plus officielle).
Pour parler franchement : lorsque nous enregistrons le mot de passe d'un compte, nous devons l'utiliser. Password Hash cryptera le mot de passe que nous avons enregistré. Ensuite, lorsque nous nous connecterons, un processus de décryptage sera effectué pour correspondre au mot de passe que nous avons entré.
Utilisation dans Flask :
1. Package Guide
# 导包 from werkzeug.security import generate_password_hash,check_password_hash
Parmi eux : generate_password_hash est le mot de passe généré check_password_hash est la vérification du mot de passe ; 🎜 >
2. Lors de l'enregistrement d'un compte, utilisez 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>
# 登录 @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')
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!