Heim >Web-Frontend >js-Tutorial >Detaillierte Erläuterung der Verarbeitungsvorgänge für die Passwortverschlüsselung in NodeJS

Detaillierte Erläuterung der Verarbeitungsvorgänge für die Passwortverschlüsselung in NodeJS

亚连
亚连Original
2018-05-25 16:30:231737Durchsuche

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 nodeVerschlü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) Hex3. Verbinden Sie die im zweiten Schritt verschlüsselte Zufallszahl mit unserem echten Passwort
Verschlüsseln Sie den dritten Schritt (
)MD5Fü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!

Stellungnahme:
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