Vollständige Schritte zum Erstellen eines Passwortgenerators mit Node.js

Vollständige Schritte zum Erstellen eines Passwortgenerators mit Node.js

1. Vorbereitung

1.1 Projekt erstellen

$ npm init 

1.2 Installationsabhängigkeiten

$ npm ich commander chalk zwischenablage

1.3 Erstellen der Eintragsdatei index.js

Werfen wir einen Blick auf process.argv

// index.js
Konsole.log(Prozess.argv)

Terminal-Ausführungsbefehl

$ Knotenindex

Im Terminal sehen Sie

Die Eigenschaft process.argv gibt ein Array zurück, das die Befehlszeilenargumente enthält, die beim Start des Node.js-Prozesses übergeben wurden. Das erste Element ist process.execPath. Das zweite Element ist der Pfad zur ausgeführten JavaScript-Datei. Die verbleibenden Elemente sind alle zusätzlichen Befehlszeilenargumente.

Befehl ausführen

$ Knotenindex generieren

Der dritte Parameter: generate

2. Befehlszeilen schreiben

2.1 Version und Beschreibung hinzufügen

// index.js
const-Programm = erforderlich('Kommandant');
program.version('1.0.0').description('Einfacher Passwortgenerator').parse()

Terminalausführungsbefehl: Sie können die Beschreibung von passgen sehen

Führen Sie den Befehl weiter aus: Sie können die Version von passgen sehen

2.2 Befehl zur Konfiguration der Kennwortlänge

const-Programm = erforderlich('Kommandant');

program.version('1.0.0').description('Einfacher Passwortgenerator')
program.option('-l --length <Zahl>', 'Länge des Passworts').parse()
Konsole.log(Programm.Opts())

Terminalausführungsbefehl: Sie können den Kennwortlängenbefehl von passgen sehen

Terminal-Ausführungsbefehl:

2.2 Standardwert für Passwortlänge hinzugefügt: 8

program.option('-l --length <Zahl>', 'Länge des Passworts', '8').parse()
Konsole.log(Programm.Opts())

Terminalausführungsbefehl: Legen Sie die Kennwortlänge nicht fest. Sie können sehen, dass der Standardwert -8 verwendet wird.

Terminalausführungsbefehl: Setzen Sie die Kennwortlänge auf 10

2.3 Konfigurieren des Befehls zum Speichern des Passworts

program.option('-l --length <Zahl>', 'Länge des Passworts', '8')
.option('-s --save', 'Passwort in password.txt speichern').parse()

2.4 Passwortformat konfigurieren: Keine Zahlen

.option('-nn --no-number', 'Zahlen entfernen').parse()

Terminal-Ausführungsbefehl: Standardmäßig gibt es Zahlen

Terminalausführungsbefehl: Digitales Passwort festlegen und löschen

2.5 Konfigurationskennwortformat: Keine Symbole

.option('-ns --no-symbols', 'Symbole entfernen').parse()

Terminal-Ausführungsbefehl: Standardmäßig hat es Symbole

Terminalausführungsbefehl: Digitales Passwort festlegen und löschen

3. Parsen der Kommandozeile - Erstellen eines Passworts

// index.js
const-Programm = erforderlich('Kommandant');
const createPassword = erfordern('./utils/createPassword')
const log = konsole.log

program.version('1.0.0').description('Einfacher Passwortgenerator')
Programm
.option('-l --length <Zahl>', 'Länge des Passworts', '8')
.option('-s --save', 'Passwort in password.txt speichern')
.option('-nn --no-numbers', 'Zahlen entfernen')
.option('-ns --no-symbols', 'Symbole entfernen').parse()

const {Länge, Speichern, Zahlen, Symbole} = program.opts()

// Generiertes Passwort abrufen
const generatedPassword = createPassword(Länge, Zahlen, Symbole)

// Generiertes Passwort ausgeben

log(generiertesPasswort)

Erstellen Sie utils/createPassword.js

// Passwort erstellen.js
const alpha = "qwertyuiopasdfghjklzxcvbnm"
Konstantenzahlen = "0123456789"
Konstante Symbole = '!@#$%^&*_-=+'


const createPassword = (Länge = 8, hat Zahlen = wahr, hat Symbole = wahr) => {
    let chars = alpha
    hatZahlen ? (Zeichen += Zahlen): ''
    hatSymbole? (Zeichen += Symbole): ''
    returniere generatePassword(Länge, Zeichen)
}

const generatePassword = (Länge, Zeichen) => {
    let Passwort = ''
    für(lass i = 0; i < Länge; i++){
        Passwort + = Zeichen.charAt (Math.floor (Math.random () * Zeichen.Länge))
    }
    Passwort zurückgeben
}
module.exports = Passwort erstellen

Terminalausführungsbefehl: Kennwortgenerierung anzeigen

3.1 Farbe hinzufügen

// index.js
const Kreide = erforderlich('Kreide');
log(chalk.blue('Generiertes Passwort: ') + chalk.bold(generiertesPasswort))

Terminal führt Befehl aus: Sie können die Farbänderungen sehen

3.2 Zwischenablage hinzufügen

// index.js
const clipboardy = erfordern('Zwischenablage');
// In die Zwischenablage kopieren
clipboardy.writeSync(generiertesPasswort)
log(chalk.yellow('Passwort in die Zwischenablage kopiert!'))

4. Speichern Sie das Passwort in der entsprechenden Datei

// index.js
const savePassword = erfordern('./utils/savePassword')
// In Datei speichern
if (speichern) savePassword(generiertesPasswort)

Erstellen Sie utils/savePassword.js

const fs = erfordern('fs')
const Pfad = require('Pfad')
const os = erfordern('os')
const Kreide = erforderlich('Kreide')

const savePassword = (Passwort) => {
    fs.open(Pfad.join(__dirname, '../', 'passwords.txt'), 'a', '666', (e, id) => {
        fs.write(id, password + os.EOL, null, 'utf-8', ()=>{
            fs.schließen(id, ()=>{
                console.log(chalk.green('Passwort in passwords.txt gespeichert'))
            })
        })
    })
}

module.exports = Passwort speichern

Führen Sie den Befehl im Terminal aus: Sie können sehen, dass die Datei passwords.txt im Projekt generiert wird und das Passwort erfolgreich gespeichert wurde

5. Konfigurieren Sie lokale npm-Module als globale Passgen

// paket.json
  "preferGlobal": wahr,
  "bin":"./index.js",

Terminal-Ausführungsbefehl:

Befehl npm link: Verknüpfen Sie das npm-Modul mit dem entsprechenden laufenden Projekt, um das Debuggen und Testen lokaler Module zu erleichtern.

//index.js
#!/usr/bin/env node //Füge die erste Zeile hinzu

Terminal-Ausführungsbefehl:

Zusammenfassung: Es ist geschafft ✌️✌️✌️✌️✌️✌️✌️✌️✌️✌️✌️✌️✌️✌️✌️✌️✌️

Referenzlink: nodejs.cn/api/process…

Zusammenfassen

Dies ist das Ende dieses Artikels über die Verwendung von Node.js zum Erstellen eines Passwortgenerators. Weitere Informationen zum Node.js-Passwortgenerator finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, Sie werden 123WORDPRESS.COM auch in Zukunft unterstützen!

<<:  Erläuterung des Prinzips des MySQL-Replikationsmechanismus

>>:  So installieren Sie Redis5.0.3 im Docker

Artikel empfehlen

Einfache Methode zur Installation von MySQL unter Linux

Bei der Onlinesuche nach Methoden zur Installatio...

Zusammenfassung der grundlegenden allgemeinen MySQL-Befehle

Inhaltsverzeichnis Grundlegende allgemeine MySQL-...

Kurze Analyse der verschiedenen Versionen des mysql.data.dll-Treibers

Hier ist der MySQL-Treiber mysql.data.dll Beachte...

Zusammenfassung der Methoden zur Verbesserung der MySQL-Anzahl

Ich glaube, dass viele Programmierer mit MySQL ve...

Praxis der Verwendung von SuperMap in Vue

Inhaltsverzeichnis Vorwort Ressourcen zum Thema V...

Detaillierte Erläuterung des Prinzips der Vue-Überwachungsdaten

Inhaltsverzeichnis 1. Einleitung II. Überwachungs...

Detailliertes Tutorial zur Installation von SonarQube mit Docker

Inhaltsverzeichnis 1. Ziehen Sie das Bild 1.1 Zie...

Zusammenfassung der zehn häufigsten Probleme bei MySQL-Indexfehlern

Inhaltsverzeichnis Hintergrund 1. Die Abfragebedi...

Javascript, um den Effekt des Schließens von Anzeigen zu erzielen

Hier ist eine Fallstudie zu Ihrer Information, wi...

Node.js+Postman zur Simulation der HTTP-Server- und Client-Interaktion

Inhaltsverzeichnis 1. Node erstellt HTTP-Server 2...

Wie stellt MySQL die Master-Slave-Konsistenz sicher?

Inhaltsverzeichnis Das Grundprinzip von MySQL Mas...

Implementierung der Docker-Batch-Container-Orchestrierung

Einführung Der Dockerfile-Build-Ausführungsvorgan...