Heim > Artikel > Web-Frontend > Welche Möglichkeiten gibt es, Passwörter in NodeJS zu verschlüsseln?
Dieses Mal werde ich Ihnen vorstellen, wie Sie Passwörter in NodeJS verschlüsseln können und welche Vorsichtsmaßnahmen für die Passwortverschlüsselung in NodeJS gelten. Das Folgende ist ein praktischer Fall. Schauen wir uns das an.
1. Einführung in das node
Verschlüsselungsmodul crypto
In der Tat Es wird mit MD5 verschlüsselt, was nicht sehr sicher ist. In der tatsächlichen Entwicklung können Sie Salt nach Ihrem eigenen Plan hinzufügen
2. Verwenden Sie die Verschlüsselungsmethode in der Routing-Ansicht
1. Importieren Sie das mit dem Knoten gelieferte Verschlüsselungsmodul (keine Installation erforderlich)
//导入加密模块 const crypto = require("crypto");
2. Machen Sie eine Benutzerregistrierung, passwortverschlüsselte Ansicht
<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. BenutzeranmeldungPasswortüberprüfung durchführen
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>
4. Erweiterung (im Allgemeinen verschlüsseln wir die Verarbeitung)
1. Zufällig generieren mit Zufallszahlen Wie viele Ziffern
2. Verwenden Sie reversible Verschlüsselung, um die im ersten Schritt generierte Zufallszahl zu verschlüsseln
Die reversible Verschlüsselung umfasst Base64
und Hex
Verschlüsselung (speziell auf Baidu)
3. Verschlüsseln Sie die zweite Schritt Die guten Zufallszahlen werden mit unserem echten Passwort zusammengefügt
4 Verschlüsseln Sie den dritten Schritt (MD5
)
Verschlüsseln Sie den vierten Schritt
6 Das in fünf Schritten generierte Passwort wird zu einem Passwort gespleißt
5. Erweiterung (normalerweise unser verschlüsseltes Login)
1. Besorgen Sie sich das Passwort beim Anmelden
2. Extrahieren Sie den Abschnitt zur Zufallszahlenverschlüsselung aus dem erhaltenen Passwort
3. Wiederholen Sie die obige Verschlüsselungsmethode (3, 4, 5, 6)
Ich glaube, Sie beherrschen das Methode, nachdem Sie den Fall in diesem Artikel gelesen haben. Weitere spannende Inhalte finden Sie in anderen verwandten Artikeln auf der chinesischen PHP-Website!
Empfohlene Lektüre:
vue verarbeitet von storejs erhaltene Daten
Beispielcode zum Erstellen von Feuerwerkseffekten mit p5.js_ Javascript Fähigkeiten
Das obige ist der detaillierte Inhalt vonWelche Möglichkeiten gibt es, Passwörter in NodeJS zu verschlüsseln?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!