-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathindex.js
More file actions
65 lines (53 loc) · 1.55 KB
/
index.js
File metadata and controls
65 lines (53 loc) · 1.55 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
function generatePassword() {
var harfler = "abcdefghijklmnopqrstuvwxyz";
var semboller = "!@#$%^&*()_+~|}{[]:;?><,./-=";
var rakamlar = "0123456789";
var uzunluk = 10;
var gerekenSayi = 3;
var gerekenSembolCift = 2;
var gerekenSemboleTek = 1;
var sifre = "";
// Yardımcı fonksiyon: rastgele bir karakter seçme
function rastgeleSec(arr) {
var index = Math.floor(Math.random() * arr.length);
return arr[index];
}
// Büyük harf ekle
sifre += rastgeleSec(harfler.toUpperCase());
// Küçük harf ekle
sifre += rastgeleSec(harfler);
// Sayılar eklemek için döngü
for (var i = 0; i < gerekenSayi; i++) {
sifre += rastgeleSec(rakamlar);
}
// Semboller eklemek için döngü
for (var i = 0; i < gerekenSembolCift; i++) {
sifre += rastgeleSec(semboller);
}
for (var i = 0; i < gerekenSemboleTek; i++) {
sifre += rastgeleSec(semboller);
}
// Geri kalan karakterleri rastgele seçerek ekle
for (var i = sifre.length; i < uzunluk; i++) {
var secim = Math.floor(Math.random() * 3); // 0, 1 veya 2
if (secim === 0) {
sifre += rastgeleSec(harfler);
} else if (secim === 1) {
sifre += rastgeleSec(rakamlar);
} else {
sifre += rastgeleSec(semboller);
}
}
// Şifreyi karıştır
sifre = sifre
.split("")
.sort(function () {
return 0.5 - Math.random();
})
.join("");
// Şifreyi ekrana yazdır
document.getElementById("password").textContent =
"Your Password is: " + sifre;
}
// Kod başlangıcında bir kez çağrılır
generatePassword();