Generatore di password
Genera password forti e sicure con opzioni personalizzabili.
Il generatore di password crea password casuali crittograficamente sicure usando il generatore di numeri casuali integrato del tuo browser (la Web Crypto API). Le password vengono generate interamente sul tuo dispositivo — non vengono mai inviate sulla rete o memorizzate da nessuna parte.
Configura la lunghezza (8-128 caratteri) e il set di caratteri per soddisfare i requisiti del servizio per cui stai creando un account. La maggior parte degli esperti di sicurezza raccomanda password di almeno 16 caratteri con una combinazione di lettere maiuscole, minuscole, numeri e simboli.
Un gestore di password è il miglior compagno di un generatore di password. Strumenti come Bitwarden, 1Password o KeePass ti permettono di generare e memorizzare una password unica e casuale per ogni sito senza doverle ricordare. Non riutilizzare mai le password su più servizi.
Domande Frequenti
Implementazione del Codice
import secrets
import string
def generate_password(
length: int = 16,
use_upper: bool = True,
use_lower: bool = True,
use_digits: bool = True,
use_symbols: bool = True,
) -> str:
"""Generate a cryptographically secure random password."""
charset = ""
required = []
if use_lower:
charset += string.ascii_lowercase
required.append(secrets.choice(string.ascii_lowercase))
if use_upper:
charset += string.ascii_uppercase
required.append(secrets.choice(string.ascii_uppercase))
if use_digits:
charset += string.digits
required.append(secrets.choice(string.digits))
if use_symbols:
symbols = "!@#$%^&*()-_=+[]{}|;:,.<>?"
charset += symbols
required.append(secrets.choice(symbols))
if not charset:
raise ValueError("At least one character type must be selected")
# Fill the rest of the password
remaining = [secrets.choice(charset) for _ in range(length - len(required))]
password_list = required + remaining
# Shuffle to avoid predictable positions
secrets.SystemRandom().shuffle(password_list)
return "".join(password_list)
# Examples
print(generate_password(16))
print(generate_password(24, use_symbols=False))
print(generate_password(8, use_upper=False, use_symbols=False))Comments & Feedback
Comments are powered by Giscus. Sign in with GitHub to leave a comment.