Generator Kata Sandi
Buat kata sandi yang kuat dan aman dengan opsi yang dapat disesuaikan.
Generator Kata Sandi membuat kata sandi acak yang aman secara kriptografis menggunakan generator angka acak bawaan browser Anda (Web Crypto API). Ini berarti kata sandi dibuat sepenuhnya di perangkat Anda β tidak pernah dikirim melalui jaringan atau disimpan di mana pun.
Konfigurasikan panjang (8-128 karakter) dan set karakter untuk memenuhi persyaratan layanan yang Anda buat akunnya. Sebagian besar pakar keamanan merekomendasikan kata sandi minimal 16 karakter menggunakan campuran huruf besar, huruf kecil, angka, dan simbol.
Pengelola kata sandi adalah teman terbaik dari generator kata sandi. Alat seperti Bitwarden, 1Password, atau KeePass memungkinkan Anda membuat dan menyimpan kata sandi unik dan acak untuk setiap situs tanpa harus mengingatnya. Jangan pernah menggunakan kembali kata sandi di beberapa layanan.
Pertanyaan yang Sering Diajukan
Implementasi Kode
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.