Heim  >  Artikel  >  Web-Frontend  >  NodeJS implementiert irreversible Verschlüsselung und Passwortspeicherung

NodeJS implementiert irreversible Verschlüsselung und Passwortspeicherung

小云云
小云云Original
2018-03-19 09:26:121785Durchsuche

In Anwendungen besteht häufig die Notwendigkeit, Benutzerkennwörter zu verschlüsseln und zu speichern. Das Speichern von Passwörtern im Klartext hat einen Nachteil: Sobald es durchgesickert ist, führt es leicht zu großen Verlusten und kann auch zu Verlusten bei Benutzern und Passwörtern anderer Websites führen (da die meisten Benutzer auf den meisten Websites dasselbe Konto und dasselbe Passwort verwenden). ).

Dieses Leck kann zwei Ursachen haben: Hacker und Betriebs- und Wartungspersonal, die Diebstahl begehen.

Um zu verhindern, dass der Klartext des Passworts durchsickert, müssen wir das in der Datenbank gespeicherte Passwortfeld irreversibel verschlüsseln. Genauer gesagt wird es verschlüsselt und dann in der Datenbank gespeichert.

Zu den häufig verwendeten irreversiblen Verschlüsselungsalgorithmen gehören MD5 und SHA-1.

In NodeJS sind sie extrem einfach zu verwenden. Verwenden Sie einfach das offizielle integrierte crypto Paket:


var clearText = '123456';
// MD5 Hash
require('crypto').createHash('md5').update(clearText).digest('hex');
// 'e10adc3949ba59abbe56e057f20f883e'
// SHA-1 Hash
require('crypto').createHash('sha1').update(clearText).digest('hex');
// '7c4a8d09ca3762af61e59520943dc26494f8941b'

Wann Wenn sich ein Benutzer registriert, wird das vom Benutzer übermittelte Passwort zunächst irreversibel verschlüsselt und anschließend der Chiffretext in der Datenbank gespeichert.

Wenn sich ein Benutzer anmeldet, wird das vom Benutzer übermittelte Passwort zunächst auf die gleiche Weise verschlüsselt und dann mit dem Chiffretext in der Datenbank verglichen, um festzustellen, ob das Passwort korrekt ist.

Theoretisch gibt es unzählige Passwörter, die demselben Hash-Wert entsprechen, aber machen Sie sich keine allzu großen Sorgen über das Risiko, getroffen zu werden, denn im Vergleich dazu sind Ihr Webserver und Ihre Datenbank möglicherweise anfällig für Überschwemmungen Angriffe kollabieren zuerst.

Verwandte Empfehlungen:

Javascript – Einige Websites verschlüsseln das Passwort im Passwortfeld irreversibel mit js, wenn der Benutzer die Anmeldung übermittelt, und senden es dann. Ist das notwendig? Was sind die Vor- und Nachteile?

Erhöhen Sie die Sicherheit der Speicherung und Überprüfung von Benutzerkennwörtern_PHP-Tutorial

Wie jquery.cookie.js die Funktion zum Speichern von Kennwörtern für die Benutzeranmeldung implementiert_jquery

Das obige ist der detaillierte Inhalt vonNodeJS implementiert irreversible Verschlüsselung und Passwortspeicherung. 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