Einführung in die Methode zum Zitieren von Hash-Passwörtern in Flask (mit Code)

不言
Freigeben: 2019-03-06 14:03:57
nach vorne
1700 Leute haben es durchsucht

Dieser Artikel bietet Ihnen eine Einführung in die Methode zum Zitieren von Hash-Passwörtern in Flask (mit Code), die einen bestimmten Referenzwert hat, Freunde in Not Ich kann darauf verweisen, ich hoffe, es wird Ihnen hilfreich sein.

Passwort-Hash:

Eine unordentliche Zeichenfolge, die durch einmalige Verschlüsselung des Passworts gebildet wird. Dieser Verschlüsselungsprozess gilt als irreversibel, d. h. man geht davon aus, dass es unmöglich ist, das ursprüngliche Passwort aus der Hash-Zeichenfolge wiederherzustellen. (Dieser Satz ist eine offiziellere Erklärung).

Um es ganz klar auszudrücken: Wenn wir ein Kontopasswort registrieren, müssen wir Password Hash verwenden, um das von uns registrierte Passwort zu verschlüsseln. Wenn wir uns dann anmelden, wird ein Entschlüsselungsprozess durchgeführt, der mit dem von uns eingegebenen Passwort übereinstimmt.

Verwendung in Flask:

1. Leitfadenpaket

# 导包         from werkzeug.security import generate_password_hash,check_password_hash
Nach dem Login kopieren

wobei: generic_password_hash das generierte Passwort ist; check_password_hash die Passwortüberprüfung

2. Verwenden Sie bei der Registrierung eines Kontos „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>
Nach dem Login kopieren

Das zu diesem Zeitpunkt registrierte Passwort lautet „123“. Wenn wir „123“ verwenden, wird die Datenbank zu:

3. Nachdem wir die Registrierung abgeschlossen haben, sind wir an der Reihe, uns anzumelden. Wenn wir uns anmelden, müssen wir bei der Eingabe des Passworts check_password_hash verwenden, um das Passwort zu entschlüsseln und dann zu überprüfen

# 登录
@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;)
Nach dem Login kopieren

Kurz gesagt, der entscheidende Punkt ist: generic_password_hash dient zum Generieren des Passworts; check_password_hash ist die Passwortüberprüfung, und die anderen Codes sind die einfachste Registrierung und Anmeldung in Flask.

Das obige ist der detaillierte Inhalt vonEinführung in die Methode zum Zitieren von Hash-Passwörtern in Flask (mit Code). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:cnblogs.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!