Maison > développement back-end > Tutoriel Python > Introduction à la méthode de citation de mots de passe hachés dans Flask (avec code)

Introduction à la méthode de citation de mots de passe hachés dans Flask (avec code)

不言
Libérer: 2019-03-06 14:03:57
avant
1753 Les gens l'ont consulté

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
Copier après la connexion

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(&#39;add_user&#39;)
defadd_user():<br/># Adminuser是数据库中一张表的名字 , user:注册的账号    pass_hash: 注册的密码,此时注册的密码的是 123
add_user=Adminuser(user=&#39;admin&#39;,<span style="color: #ff0000;"><strong>pass_hash=generate_password_hash(&#39;123&#39;)</strong></span>)
db.session.add(add_user)
return&#39;OK&#39;</span>
Copier après la connexion
Le mot de passe que nous avons enregistré à ce moment est "123". Lorsque nous utilisons generate_password_hash pour crypter "123", la base de données se transformera en "123". :

3. Maintenant que nous avons terminé l'inscription, c'est à notre tour de nous connecter. Lorsque nous nous connectons, lors de la saisie du mot de passe, nous devons utiliser check_password_hash pour déchiffrez-le. , puis vérifiez le mot de passe

# 登录
@admin_blue.route(&#39;/login&#39;,methods=[&#39;get&#39;,&#39;post&#39;])
def login():
    if request.method==&#39;POST&#39;:
        username=request.form.get(&#39;username&#39;)
        password=request.form.get(&#39;password&#39;)
        if not all([username,password]):
            flash(&#39;请输入账号和密码&#39;)
        else:
            sqluser=Adminuser.query.filter(Adminuser.user==username).first()
            if not sqluser:
                flash(&#39;账号不正确&#39;)
            else:
                a=check_password_hash(sqluser.pass_hash,password)
                print(a)
                if a:
                       session[&#39;admin_username&#39;]=username
                       return redirect(url_for(&#39;admin.index&#39;))
                else:
                       flash(&#39;密码不正确&#39;)
    return render_template(&#39;admin/login.html&#39;)
Copier après la connexion
En bref, le point clé est : generate_password_hash est de générer le mot de passe ; check_password_hash est la vérification du mot de passe, et les autres codes sont l'enregistrement et la connexion les plus simples ; Ballon.

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!

Étiquettes associées:
source:cnblogs.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal