In diesem Artikel wird hauptsächlich die Methode von NodeJS zur Implementierung irreversibler Verschlüsselung und Passwort-Chiffretext-Speicherung vorgestellt. Er beschreibt kurz die Prinzipien der irreversiblen Verschlüsselung und Passwort-Chiffretext-Speicherung und analysiert die Implementierungstechniken für NodeJS-bezogene Verschlüsselungsvorgänge in Form von Beispielen Ich brauche es. Als Referenz:
Das Beispiel in diesem Artikel beschreibt, wie NodeJS eine irreversible Verschlüsselung implementiert und Passwort-Chiffretext speichert. Geben Sie es als Referenz an alle weiter. Die Einzelheiten lauten wie folgt:
In Anwendungen ist es oft erforderlich, das Passwort des Benutzers 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 für Benutzer und Passwörter anderer Websites führen (da die meisten Benutzer das Passwort verwenden). auf den meisten Websites dasselbe Konto und 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'
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 Hashwert 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.
Ich habe das Obige für Sie zusammengestellt und hoffe, dass es Ihnen in Zukunft hilfreich sein wird.
Verwandte Artikel:
vue-Elternkomponente ruft Methoden und Ereignisse der untergeordneten Komponente auf
vue.js Element-UI-Baum Wie um iview von der Formkontrolle zu ändern
Vue-Quellcode-Analyse des Observer-Implementierungsprozesses
Das obige ist der detaillierte Inhalt vonSo implementieren Sie eine irreversible Verschlüsselung und speichern den Passwort-Chiffretext in NodeJS. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!