Heim >Web-Frontend >js-Tutorial >Detaillierte Erläuterung der Verarbeitungsvorgänge für die Passwortverschlüsselung in NodeJS
In diesem Artikel wird hauptsächlich der Verarbeitungsvorgang für die Passwortverschlüsselung in NodeJS vorgestellt und die Implementierungstechnik und Vorsichtsmaßnahmen im Zusammenhang mit dem Verschlüsselungsverarbeitungsvorgang von NodeJS für Benutzeranmeldekennwörter in Form von Beispielen analysiert. Freunde in Not können sich auf diesen Artikel beziehen
Das Beispiel beschreibt den Verarbeitungsvorgang der Passwortverschlüsselung in nodejs. Teilen Sie es als Referenz mit allen:
1. Einführung in das node
Verschlüsselungsmodul crypto
Tatsächlich wird es mit MD5 verschlüsselt, was nicht sehr sicher ist. In der tatsächlichen Entwicklung erfolgt das Salten nach Ihrem eigenen Plan
2. In der Routing-Ansicht Verschlüsselungsmethode verwenden
1. Importieren Sie das mit dem Knoten gelieferte Verschlüsselungsmodul (keine Installation erforderlich)
//导入加密模块 const crypto = require("crypto");
2. Machen Sie eine Ansicht der Benutzerregistrierung und Passwortverschlüsselung
<p class="col-md-6"> <h4>用户注册</h4> <form role="form" method="post" action="/regest"> <p class="form-group"> <label for="username">用户名:</label> <input id="username" type="text" placeholder="请输入用户名" name="username" class="form-control"/> </p> <p class="form-group"> <label for="password">密码:</label> <input id="password" type="password" placeholder="请输入密码" name="password" class="form-control"/> </p> <p class="form-group"> <input type="submit" value="提交" class="btn btn-success"/> </p> </form> </p>
router.post("/regest",(req,res)=>{ console.log(req.body); let name = req.body.username; let password = req.body.password; let md5 = crypto.createHash("md5"); let newPas = md5.update(password).digest("hex"); db("insert into user1(name,password) values(?,?)",[name,newPas],(err,data)=>{ if (err){ res.send("注册失败"); } console.log(data); if (data){ res.send("注册成功"); } }) });
3. Benutzeranmeldung zur Passwortüberprüfung
1 Verschlüsseln Sie das vom Benutzer eingegebene Passwort auf die gleiche Weise
2. Ordnen Sie das verschlüsselte Passwort der Datenbank zu
router.post("/login",(req,res)=>{ let name = req.body.username; let password = req.body.password; let md5 = crypto.createHash("md5"); let newPas = md5.update(password).digest("hex"); db("select * from user1 where name = ?",[name],(err,data)=>{ console.log(data[0].password); if (err){ res.send("发生错误"); } if (data){ if (data[0].password === newPas){ res.send("登录成功"); }else { res.send("用户名或密码错误"); } } }) })
<p class="col-md-6"> <h4>用户登录</h4> <form role="form" method="post" action="/login"> <p class="form-group"> <label for="username2">用户名:</label> <input id="username2" type="text" placeholder="请输入用户名" name="username" class="form-control"/> </p> <p class="form-group"> <label for="password">密码:</label> <input id="password" type="password" placeholder="请输入密码" name="password" class="form-control"/> </p> <p class="form-group"> <input type="submit" value="提交" class="btn btn-success" id="sub-btn2"/> </p> </form> </p>
Vier. Erweiterung (im Allgemeinen verschlüsseln wir die Verarbeitung)
1. Verwenden Sie Zufallszahlen, um eine Anzahl von Ziffern zufällig zu generieren.
2. Verwenden Sie eine reversible Verschlüsselung, um die im ersten Schritt generierten Zufallszahlen zu verschlüsseln.
und Base64
Verschlüsselung (insbesondere Baidu) Hex
3. Verbinden Sie die im zweiten Schritt verschlüsselte Zufallszahl mit unserem echten Passwort
Verschlüsseln Sie den dritten Schritt (
)MD5
Führen Sie im vierten Schritt eine reversible Verschlüsselung durch Schritt
6. Fügen Sie das im zweiten und fünften Schritt generierte Passwort zu einem Passwort zusammen
5 🎜 >1. Erhalten Sie das Passwort beim Anmelden2. Fangen Sie den Abschnitt zur Zufallszahlenverschlüsselung aus dem erhaltenen Passwort ab3 Wiederholen Sie die oben genannte Verschlüsselungsmethode (3,4,5,6)
Das Obige habe ich für alle zusammengestellt und hoffe, dass es in Zukunft für alle hilfreich sein wird.
Verwandte Artikel:
So verwenden Sie die Bewertungssteuerung von AjaxToolKit
Implementierung des Datei-Uploads mit Fortschrittsbalken basierend auf Ajax Technologie
Besprechen Sie Probleme im Zusammenhang mit ReadyState und Status in Ajax
Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung der Verarbeitungsvorgänge für die Passwortverschlüsselung in NodeJS. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!