<!DOCTYPE html>
<html lang="id">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Generator Kata Sandi Kuat</title>
<style>
body {
font-family: Arial, sans-serif;
text-align: center;
margin-top: 50px;
}
#passwordOutput {
font-size: 20px;
margin-top: 20px;
padding: 10px;
border: 1px solid #ccc;
display: inline-block;
}
button {
padding: 10px 20px;
font-size: 16px;
cursor: pointer;
}
</style>
</head>
<body>
<h1>Generator Kata Sandi Kuat</h1>
<button onclick="generatePassword()">Buat Kata Sandi</button>
<div id="passwordOutput"></div>
<script>
function generatePassword() {
// Karakter yang bisa digunakan dalam kata sandi
const hurufKecil = 'abcdefghijklmnopqrstuvwxyz';
const hurufBesar = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
const angka = '0123456789';
const simbol = '!@#$%^&*()_+-=[]{}|;:,.<>?';
const semuaKarakter = hurufKecil + hurufBesar + angka + simbol;
// Panjang kata sandi (misalnya 12 karakter)
const panjang = 12;
let kataSandi = '';
// Pastikan minimal 1 karakter dari setiap jenis
kataSandi += hurufKecil[Math.floor(Math.random() * hurufKecil.length)];
kataSandi += hurufBesar[Math.floor(Math.random() * hurufBesar.length)];
kataSandi += angka[Math.floor(Math.random() * angka.length)];
kataSandi += simbol[Math.floor(Math.random() * simbol.length)];
// Tambahkan karakter acak sampai mencapai panjang yang diinginkan
for (let i = kataSandi.length; i < panjang; i++) {
kataSandi += semuaKarakter[Math.floor(Math.random() * semuaKarakter.length)];
}
// Acak ulang kata sandi agar posisi karakter lebih random
kataSandi = kataSandi.split('').sort(() => Math.random() - 0.5).join('');
// Tampilkan kata sandi di halaman
document.getElementById('passwordOutput').innerText = kataSandi;
}
</script>
</body>
</html>
No comments:
Post a Comment