import { Injectable } from '@angular/core'; @Injectable({ providedIn: 'root' }) export class PasswordGeneratorService { constructor() { } /** * Jelszógenerálás * @param length Jelszó hossza. * @param useLowercase Legyen benne kisbetűs. * @param useUppercase Legyen benne nagybetűs. * @param useNumbers Legyen benne szám. * @param useSymbols Legyen benne speciális karakter. * @returns A generált jelszó. */ generatePassword(length: number, useLowercase: boolean, useUppercase: boolean, useNumbers: boolean, useSymbols: boolean): string { const lowercaseChars = 'abcdefghijklmnopqrstuvwxyz'; const uppercaseChars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'; const numberChars = '0123456789'; const symbolChars = '!@#$%^&*()_+~`|}{[]:;?><,./-='; let characters = ''; if (useLowercase) { characters += lowercaseChars; } if (useUppercase) { characters += uppercaseChars; } if (useNumbers) { characters += numberChars; } if (useSymbols) { characters += symbolChars; } if (characters.length === 0) { return ''; // Nincs kiválasztott karaktertípus } let password = ''; for (let i = 0; i < length; i++) { const randomIndex = Math.floor(Math.random() * characters.length); password += characters[randomIndex]; } return password; } }