|
| 1 | +<div align="right"> |
| 2 | + <h6> |
| 3 | + <picture> |
| 4 | + <source type="image/svg+xml" media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/adamlui/js-utils/main/docs/images/earth-icon/white/icon32.svg"> |
| 5 | + <img height=14 src="https://raw.githubusercontent.com/adamlui/js-utils/main/docs/images/earth-icon/black/icon32.svg"> |
| 6 | + </picture> |
| 7 | + Deutsch | |
| 8 | + <a href="../..#readme">English</a> | |
| 9 | + <a href="../zh-cn#readme">简体中文</a> | |
| 10 | + <a href="../zh-tw#readme">繁體中文</a> | |
| 11 | + <a href="../hi#readme">हिंदी</a> | |
| 12 | + <a href="../bn#readme">বাংলা</a> | |
| 13 | + <a href="../es#readme">Español</a> |
| 14 | + </h6> |
| 15 | +</div> |
| 16 | + |
| 17 | +# > generate-pw |
| 18 | + |
| 19 | +### Generieren, stärken und validieren Sie kryptografisch sichere Passwörter nach dem Zufallsprinzip. |
| 20 | + |
| 21 | +<a href="#%EF%B8%8F-mit-lizenz"><img height=31 src="https://img.shields.io/badge/Lizenz-MIT-orange.svg?logo=internetarchive&logoColor=white&labelColor=464646&style=for-the-badge"></a> |
| 22 | +<a href="https://github.com/adamlui/js-utils/releases/tag/generate-pw-1.4.2"><img height=31 src="https://img.shields.io/badge/Neueste_Version-1.4.2-44cc11.svg?logo=icinga&logoColor=white&labelColor=464646&style=for-the-badge"></a> |
| 23 | +<a href="https://www.npmjs.com/package/generate-pw?activeTab=code"><img height=31 src="https://img.shields.io/npm/unpacked-size/generate-pw?label=Ausgepackte%20Gr%C3%B6%C3%9Fe&style=for-the-badge&logo=ebox&logoColor=white&labelColor=464646&color=blue"></a> |
| 24 | +<a href="https://github.com/adamlui/js-utils/blob/generate-pw-1.4.2/generate-pw/dist/generate-pw.min.js"><img height=31 src="https://img.shields.io/github/size/adamlui/js-utils/generate-pw/dist/generate-pw.min.js?branch=generate-pw-1.4.2&label=Minimierte%20Gr%C3%B6%C3%9Fe&logo=databricks&logoColor=white&labelColor=464646&color=ff69b4&style=for-the-badge"></a> |
| 25 | +<a href="https://sonarcloud.io/component_measures?metric=new_vulnerabilities&id=adamlui_js-utils:generate-pw/src/generate-pw.js"><img height=31 src="https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fsonarcloud.io%2Fapi%2Fmeasures%2Fcomponent%3Fcomponent%3Dadamlui_js-utils%3Agenerate-pw%2Fsrc%2Fgenerate-pw.js%26metricKeys%3Dvulnerabilities&query=%24.component.measures.0.value&style=for-the-badge&logo=sonarcloud&logoColor=white&labelColor=464646&label=Schwachstellen&color=gold"></a> |
| 26 | + |
| 27 | +<br> |
| 28 | + |
| 29 | +<img height=6px width="100%" src="https://raw.githubusercontent.com/adamlui/js-utils/main/docs/images/aqua-separator.png"> |
| 30 | + |
| 31 | +## 💡 Um |
| 32 | + |
| 33 | +**generate-pw** ist eine leichte, benutzerfreundliche Bibliothek, die es Ihnen ermöglicht, kryptografisch sichere Passwörter nach dem Zufallsprinzip zu generieren, zu stärken und zu validieren. |
| 34 | + |
| 35 | +- **Keine externen Abhängigkeiten –** Nur integrierte Kryptomethoden für sichere Randomisierung |
| 36 | +- **Hochgradig anpassbar —** Geben Sie Länge, Menge, zu verwendende Zeichensätze usw. an. |
| 37 | +- **Unterstützung für mehrere Umgebungen —** Verwendung in Node.js oder im Webbrowser |
| 38 | +- **Befehlszeile verwendbar —** Geben Sie einfach `generate-pw` ein, fertig |
| 39 | + |
| 40 | +<img height=6px width="100%" src="https://raw.githubusercontent.com/adamlui/js-utils/main/docs/images/aqua-separator.png"> |
| 41 | + |
| 42 | +## ⚡ Installation |
| 43 | + |
| 44 | +Als **globales Dienstprogramm**: |
| 45 | + |
| 46 | +``` |
| 47 | +$ npm install -g generate-pw |
| 48 | +``` |
| 49 | + |
| 50 | +Als **Laufzeitabhängigkeit** aus Ihrem Projektstammverzeichnis: |
| 51 | + |
| 52 | +``` |
| 53 | +$ npm install generate-pw |
| 54 | +``` |
| 55 | + |
| 56 | +<br> |
| 57 | + |
| 58 | +<img height=6px width="100%" src="https://raw.githubusercontent.com/adamlui/js-utils/main/docs/images/aqua-separator.png"> |
| 59 | + |
| 60 | +## 🔌 Importieren der API |
| 61 | + |
| 62 | +### <img height=18 src="https://i.imgur.com/JIeAdsr.png"> Node.js |
| 63 | + |
| 64 | +#### ES module*: |
| 65 | + |
| 66 | +```js |
| 67 | +import * as pw from 'generate-pw'; |
| 68 | +``` |
| 69 | + |
| 70 | +#### CommonJS: |
| 71 | + |
| 72 | +```js |
| 73 | +const pw = require('generate-pw'); |
| 74 | +``` |
| 75 | + |
| 76 | +###### _*Node.js Version 14 oder höher erforderlich_ |
| 77 | + |
| 78 | +### <picture><source media="(prefers-color-scheme: dark)" srcset="https://i.imgur.com/JSEb19A.png"><img width=16 src="https://i.imgur.com/5VPxf9y.png"></picture> Web |
| 79 | + |
| 80 | +#### <> HTML-Skript-Tag: |
| 81 | + |
| 82 | +```html |
| 83 | +<script src="https://cdn.jsdelivr.net/npm/generate-pw@1.4.2/dist/generate-pw.min.js"></script> |
| 84 | +``` |
| 85 | + |
| 86 | +#### ES6: |
| 87 | + |
| 88 | +```js |
| 89 | +(async () => { |
| 90 | + await import('https://cdn.jsdelivr.net/npm/generate-pw@1.4.2/dist/generate-pw.min.js'); |
| 91 | + // Ihr Code hier... |
| 92 | +})(); |
| 93 | +``` |
| 94 | + |
| 95 | +### <img height=17 src="https://raw.githubusercontent.com/KudoAI/chatgpt.js/main/starters/media/images/icons/tampermonkey-icon28.png"><img height=17.5 src="https://raw.githubusercontent.com/KudoAI/chatgpt.js/main/starters/media/images/icons/violentmonkey-icon100.png"> Greasemonkey |
| 96 | + |
| 97 | +```js |
| 98 | +... |
| 99 | +// @require https://cdn.jsdelivr.net/npm/generate-pw@1.4.2/dist/generate-pw.min.js |
| 100 | +// ==/UserScript== |
| 101 | + |
| 102 | +// Ihr Code hier... |
| 103 | +``` |
| 104 | + |
| 105 | +<br> |
| 106 | + |
| 107 | +**💡 Hinweis:** Um immer die neueste Version zu importieren (in der Produktion nicht empfohlen!), entfernen Sie das Versions-Tag `@1.4.2` aus der jsDelivr-URL: `https://cdn.jsdelivr.net/npm/generate-pw/dist/generate-pw.min.js` |
| 108 | + |
| 109 | +<br> |
| 110 | + |
| 111 | +<img height=6px width="100%" src="https://raw.githubusercontent.com/adamlui/js-utils/main/docs/images/aqua-separator.png"> |
| 112 | + |
| 113 | +## 📋 API-Nutzung |
| 114 | + |
| 115 | +### `generatePassword([optionen])` |
| 116 | + |
| 117 | +Erzeugt **ein** Passwort, wenn die Option `qty` nicht angegeben ist, und gibt eine Zeichenfolge zurück: |
| 118 | + |
| 119 | +```js |
| 120 | +const passwort = pw.generatePassword({ length: 11, numbers: true }); |
| 121 | +console.log(passwort); // beispielausgabe: 'bAsZm3mq6Qn' |
| 122 | +``` |
| 123 | + |
| 124 | +...oder **mehrere** Passwörter, wenn die Option `qty` angegeben ist, was ein Array von Zeichenfolgen zurückgibt: |
| 125 | + |
| 126 | +```js |
| 127 | +const passwörter = pw.generatePassword({ qty: 5, length: 8, symbols: true }); |
| 128 | +console.log(passwörter); |
| 129 | + |
| 130 | +/* beispielausgabe: |
| 131 | +
|
| 132 | +generatePassword() » Generating passwords... |
| 133 | +generatePassword() » Passwords generated! |
| 134 | +generatePassword() » Check returned array. |
| 135 | +[ '!zSf@Q.s', '!,HT\\;m=', '?Lq&FV>^', 'gf}Y;}Ne', 'Stsx(GqE' ] |
| 136 | +*/ |
| 137 | +``` |
| 138 | + |
| 139 | +**💡 Hinweis:** Wenn keine Optionen übergeben werden, sind Passwörter 8 Zeichen lang und bestehen aus Groß-/Kleinbuchstaben. |
| 140 | + |
| 141 | +Siehe: [Verfügbare Optionen](#verfügbare-optionen-für-generate-funktionen) |
| 142 | + |
| 143 | +# |
| 144 | + |
| 145 | +### `generatePasswords(qty[, optionen])` |
| 146 | + |
| 147 | +Erzeugt **mehrere** Passwörter basierend auf der angegebenen `qty` und gibt ein Array von Zeichenfolgen zurück: |
| 148 | + |
| 149 | +```js |
| 150 | +const passwörter = pw.generatePasswords(5, { length: 3, uppercase: false }); |
| 151 | +console.log(passwörter); |
| 152 | + |
| 153 | +/* beispielausgabe: |
| 154 | +
|
| 155 | +generatePasswords() » Generating passwords... |
| 156 | +generatePasswords() » Passwords generated! |
| 157 | +generatePasswords() » Check returned array. |
| 158 | +[ 'yilppxru', 'ckvkyjfp', 'zolcpyfb' ] |
| 159 | +*/ |
| 160 | +``` |
| 161 | + |
| 162 | +**💡 Hinweis:** Wenn kein `qty`-Argument übergeben wird, wird nur ein Passwort generiert und als String zurückgegeben. |
| 163 | + |
| 164 | +Siehe: [Verfügbare Optionen](#verfügbare-optionen-für-generate-funktionen) |
| 165 | + |
| 166 | +# |
| 167 | + |
| 168 | +### `strictify(passwort[, erfZeichentypen, optionen])` |
| 169 | + |
| 170 | +Ändert das angegebene `passwort`, um mindestens ein Zeichen jedes übergebenen `erfZeichentypen`-Elements zu verwenden, und gibt eine Zeichenfolge zurück: |
| 171 | + |
| 172 | +```js |
| 173 | +const striktPW = pw.strictify('abcdef', ['numbers', 'symbols']); |
| 174 | +console.log(striktPW); // beispielausgabe: 'a!c2ef' |
| 175 | +``` |
| 176 | + |
| 177 | +**💡 Hinweis:** Wenn kein Array `erfZeichentypen` übergeben wird, sind alle verfügbaren Typen erforderlich. |
| 178 | + |
| 179 | +Verfügbare `erfZeichentypen` sind: `['number', 'symbol', 'lower', 'upper']` |
| 180 | + |
| 181 | +Verfügbare Optionen (als Objekteigenschaften übergeben): |
| 182 | + |
| 183 | +Name | Geben Sie | ein Beschreibung | Standardwert |
| 184 | +----------|-----------------|------------------------------------------|-------------- |
| 185 | +`verbose` | Boolescher Wert | Protokolle in Konsole/Terminal anzeigen. | `true` |
| 186 | + |
| 187 | +# |
| 188 | + |
| 189 | +### `validateStrength(passwort[, optionen])` |
| 190 | + |
| 191 | +Validiert die Stärke eines Passworts und gibt ein Objekt zurück, das Folgendes enthält: |
| 192 | +- `strengthScore` (0–100) |
| 193 | +- `recommendations` array |
| 194 | +- `isGood` Boolescher Wert (`true` wenn `strengthScore` >= 80) |
| 195 | + |
| 196 | +Beispiel: |
| 197 | + |
| 198 | +```js |
| 199 | +const pwStärke = pw.validateStrength('Aa?idsE'); |
| 200 | +console.log(pwStärke); |
| 201 | + |
| 202 | +/* ausgaben: |
| 203 | +
|
| 204 | +validateStrength() » Validating password strength... |
| 205 | +validateStrength() » Password strength validated! |
| 206 | +validateStrength() » Check returned object for score/recommendations. |
| 207 | +{ |
| 208 | + strengthScore: 60, |
| 209 | + recommendations: [ |
| 210 | + 'Make it at least 8 characters long.', |
| 211 | + 'Include at least one number.' |
| 212 | + ], |
| 213 | + isGood: false |
| 214 | +} |
| 215 | +*/ |
| 216 | +``` |
| 217 | + |
| 218 | +Verfügbare Optionen (als Objekteigenschaften übergeben): |
| 219 | + |
| 220 | +Name | Geben Sie | ein Beschreibung | Standardwert |
| 221 | +----------|-----------------|------------------------------------------|-------------- |
| 222 | +`verbose` | Boolescher Wert | Protokolle in Konsole/Terminal anzeigen. | `true` |
| 223 | + |
| 224 | +# |
| 225 | + |
| 226 | +### Verfügbare Optionen für `generate*()`-Funktionen |
| 227 | + |
| 228 | +Jede davon kann für jede `generate*()`-Funktion an das Optionsobjekt übergeben werden: |
| 229 | + |
| 230 | +Name | Geben Sie | ein Beschreibung | Standardwert |
| 231 | +------------|-----------------|-----------------------------------------------------------------------------------|-------------- |
| 232 | +`verbose` | Boolescher Wert | Protokolle in Konsole/Terminal anzeigen. | `true` |
| 233 | +`length` | Ganze Zahl | Länge des/der Passwort(s). | `8` |
| 234 | +`qty`* | Ganze Zahl | Anzahl der zu generierenden Passwörter. | `1` |
| 235 | +`charset` | Zeichenfolge | In Passwörter aufzunehmende Zeichen. | `''` |
| 236 | +`exclude` | Zeichenfolge | Von Passwörtern auszuschließende Zeichen. | `''` |
| 237 | +`numbers` | Boolescher Wert | Zahlen in Passwörtern zulassen. | `false` |
| 238 | +`symbols` | Boolescher Wert | Erlaube Symbole in Passwörtern. | `false` |
| 239 | +`lowercase` | Boolescher Wert | Erlauben Sie Kleinbuchstaben in Passwörtern. | `true` |
| 240 | +`uppercase` | Boolescher Wert | Erlauben Sie Großbuchstaben in Passwörtern. | `true` |
| 241 | +`strict` | Boolescher Wert | Erfordern mindestens ein Zeichen aus jedem zulässigen Zeichensatz in Passwörtern. | `false` |
| 242 | + |
| 243 | +##### _*Nur verfügbar in [`generatePassword([optionen])`](#generatepasswordoptionen), da [`generatePasswords(qty[, optionen])`](#generatepasswordsqty-optionen) ein `qty`-Argument annimmt_ |
| 244 | + |
| 245 | +<br> |
| 246 | + |
| 247 | +<img height=6px width="100%" src="https://raw.githubusercontent.com/adamlui/js-utils/main/docs/images/aqua-separator.png"> |
| 248 | + |
| 249 | +## 💻 Verwendung der Befehlszeile |
| 250 | + |
| 251 | +Bei [globaler](#-installation) Installation kann **generate-pw** auch über die Befehlszeile verwendet werden. Der Grundbefehl lautet: |
| 252 | + |
| 253 | +``` |
| 254 | +$ generate-pw |
| 255 | +``` |
| 256 | + |
| 257 | +**💡 Hinweis:** Aus Sicherheitsgründen werden generierte Passwörter in der Zwischenablage gespeichert. |
| 258 | + |
| 259 | +# |
| 260 | + |
| 261 | +### Befehlszeilenoptionen |
| 262 | + |
| 263 | +``` |
| 264 | +Parameteroptionen: |
| 265 | + --length=n Generieren Sie Passwörter mit der Länge n. |
| 266 | + --qty=n Generieren Sie n Passwörter. |
| 267 | + --charset=zeich Passwörter dürfen nur zeich enthalten. |
| 268 | + --exclude=zeich Schließen Sie zeich aus Passwörtern aus. |
| 269 | +
|
| 270 | +Boolesche Optionen: |
| 271 | + -n, --include-numbers Zahlen in Passwörtern zulassen. |
| 272 | + -s, --include-symbols Erlaube Symbole in Passwörtern. |
| 273 | + -L, --no-lowercase Kleinbuchstaben in Passwörtern nicht zulassen. |
| 274 | + -U, --no-uppercase Großbuchstaben in Passwörtern nicht zulassen. |
| 275 | + -s, --strict Erfordern mindestens ein Zeichen aus jedem zulässigen Zeichensatz in Passwörtern. |
| 276 | + -q, --quiet Unterdrücken Sie alle Protokolle außer Fehlern. |
| 277 | +
|
| 278 | +Info-Befehle: |
| 279 | + -h, --help Hilfebildschirm anzeigen. |
| 280 | + -v, --version Versionsnummer anzeigen. |
| 281 | +``` |
| 282 | + |
| 283 | +<br> |
| 284 | + |
| 285 | +<img height=6px width="100%" src="https://raw.githubusercontent.com/adamlui/js-utils/main/docs/images/aqua-separator.png"> |
| 286 | + |
| 287 | +## 🏛️ MIT-Lizenz |
| 288 | + |
| 289 | +**Urheberrechte © 2024 [Adam Lui](https://github.com/adamlui) und Mitwirkende** |
| 290 | + |
| 291 | +Hiermit wird jeder Person, die eine Kopie dieser Software und der zugehörigen Dokumentationsdateien (die „Software“) erhält, kostenlos die Erlaubnis erteilt, mit der Software ohne Einschränkung zu handeln, einschließlich und ohne Einschränkung der Rechte zur Nutzung, zum Kopieren, Ändern und Zusammenführen , Kopien der Software zu veröffentlichen, zu verteilen, unterzulizenzieren und/oder zu verkaufen und Personen, denen die Software zur Verfügung gestellt wird, dies zu gestatten, vorbehaltlich der folgenden Bedingungen: |
| 292 | + |
| 293 | +Der obige Urheberrechtshinweis und dieser Genehmigungshinweis müssen in allen Kopien oder wesentlichen Teilen der Software enthalten sein. |
| 294 | + |
| 295 | +DIE SOFTWARE WIRD „WIE BESEHEN“ ZUR VERFÜGUNG GESTELLT, OHNE JEGLICHE AUSDRÜCKLICHE ODER STILLSCHWEIGENDE GEWÄHRLEISTUNG, EINSCHLIESSLICH, ABER NICHT BESCHRÄNKT AUF DIE GEWÄHRLEISTUNG DER MARKTGÄNGIGKEIT, EIGNUNG FÜR EINEN BESTIMMTEN ZWECK UND NICHTVERLETZUNG. IN KEINEM FALL SIND DIE AUTOREN ODER URHEBERRECHTSINHABER HAFTBAR FÜR JEGLICHE ANSPRÜCHE, SCHÄDEN ODER ANDERE HAFTUNG, WEDER AUS EINER VERTRAGLICHEN HANDLUNG, AUS HANDLUNG ODER ANDERWEITIG, DIE SICH AUS, AUS ODER IN ZUSAMMENHANG MIT DER SOFTWARE ODER DER NUTZUNG ODER ANDEREN HANDELN IN DER SOFTWARE ERGEBEN SOFTWARE. |
| 296 | + |
| 297 | +<br> |
| 298 | + |
| 299 | +<img height=6px width="100%" src="https://raw.githubusercontent.com/adamlui/js-utils/main/docs/images/aqua-separator.png"> |
| 300 | + |
| 301 | +## 🛠️ Verwandte Dienstprogramme |
| 302 | + |
| 303 | +### <img height=21px src="https://i.imgur.com/kvf7fXm.png"> [generate-ip](https://js-utils.com/generate-ip) <a href="https://github.com/toolleeo/cli-apps#networking"><img height=18 src="https://awesome.re/mentioned-badge.svg"></a> |
| 304 | + |
| 305 | +> Generieren, formatieren und validieren Sie IPv4/IPv6-Adressen nach dem Zufallsprinzip. |
| 306 | +<br>[Installieren](https://github.com/adamlui/js-utils/tree/main/generate-ip#-installation) / |
| 307 | +[Liesmich](https://github.com/adamlui/js-utils/tree/main/generate-ip#readme) / |
| 308 | +[API-Nutzung](https://github.com/adamlui/js-utils/tree/main/generate-ip#-api-usage) / |
| 309 | +[CLI-Nutzung](https://github.com/adamlui/js-utils/tree/main/generate-ip#-command-line-usage) / |
| 310 | +[Diskutieren](https://js-utils.com/discussions) |
| 311 | + |
| 312 | +### <a href="https://js-utils.com/geolocate"><picture><source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/adamlui/js-utils/main/geolocate/media/images/icons/wire-globe/white/icon32.png"><img height=22 src="https://raw.githubusercontent.com/adamlui/js-utils/main/geolocate/media/images/icons/wire-globe/black/icon32.png"></picture> geolocate</a> |
| 313 | + |
| 314 | +> Rufen Sie IP-Geolocation-Daten von der CLI ab. |
| 315 | +<br>[Installieren](https://github.com/adamlui/js-utils/tree/main/geolocate#-installation) / |
| 316 | +[Liesmich](https://github.com/adamlui/js-utils/tree/main/geolocate#readme) / |
| 317 | +[CLI-Nutzung](https://github.com/adamlui/js-utils/tree/main/geolocate#-command-line-usage) / |
| 318 | +[API-Nutzung](https://github.com/adamlui/js-utils/tree/main/geolocate#-api-usage) / |
| 319 | +[Diskutieren](https://js-utils.com/discussions) |
| 320 | + |
| 321 | +<br> |
| 322 | + |
| 323 | +<img height=6px width="100%" src="https://raw.githubusercontent.com/adamlui/js-utils/main/docs/images/aqua-separator.png"> |
| 324 | + |
| 325 | +<picture><source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/adamlui/js-utils/main/media/images/icons/home/white/icon32x27.png"><img height=11 src="https://raw.githubusercontent.com/adamlui/js-utils/main/media/images/icons/home/dark-gray/icon32x27.png"></picture> <a href="https://js-utils.com">**Weitere JavaScript-Dienstprogramme**</a> / |
| 326 | +<a href="https://js-utils.com/discussions">Diskutieren</a> / |
| 327 | +<a href="#-generate-pw">Zurück nach oben ↑</a> |
0 commit comments