NTFD Nützliche Tools für dich
Anmelden Registrieren
!'0O1lI'.includes(c)).join(''); if (!pool) { this.values = []; return; } const n = Math.max(1, Math.min(50, this.count)); const results = []; for (let p = 0; p < n; p++) { const arr = new Uint32Array(this.length); crypto.getRandomValues(arr); let out = ''; for (let i = 0; i < this.length; i++) out += pool[arr[i] % pool.length]; results.push(out); } this.values = results; this.copiedIndex = -1; }, get strength() { let pool = 0; if (this.upper) pool += 26; if (this.lower) pool += 26; if (this.digits) pool += 10; if (this.symbols) pool += 18; if (!pool) return 0; return Math.round(this.length * Math.log2(pool)); }, get strengthPct() { return Math.min(100, Math.round(this.strength / 128 * 100)); }, get strengthLabel() { const s = this.strength; return s < 40 ? this.i18n.weak : s < 70 ? this.i18n.fair : s < 100 ? this.i18n.good : this.i18n.strong; }, get strengthClass() { const s = this.strength; return s < 40 ? 'progress-error' : s < 70 ? 'progress-warning' : s < 100 ? 'progress-info' : 'progress-success'; }, copy(idx) { navigator.clipboard.writeText(this.values[idx]); this.copiedIndex = idx; setTimeout(() => this.copiedIndex = -1, 1500); }, copyAll() { navigator.clipboard.writeText(this.values.join('\n')); this.copiedIndex = -2; setTimeout(() => this.copiedIndex = -1, 1500); } }" x-init="generate()">

Passwort-Generator

Stärke
Entropie ca. ~ Bit