Heim > Web-Frontend > js-Tutorial > Hauptteil

Welche Möglichkeiten gibt es, Passwörter in NodeJS zu verschlüsseln?

php中世界最好的语言
Freigeben: 2018-05-09 11:46:11
Original
3037 Leute haben es durchsucht

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");
Nach dem Login kopieren

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>
Nach dem Login kopieren
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("注册成功");
    }
  })
});
Nach dem Login kopieren

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("用户名或密码错误");
      }
    }
  })
})
Nach dem Login kopieren
<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>
Nach dem Login kopieren

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!

Verwandte Etiketten:
Quelle:php.cn
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!