Rumah >hujung hadapan web >tutorial js >Penjana Kata Laluan Tanpa Kewarganegaraan: Pengurusan Kata Laluan Selamat dan Tanpa Kerumitan
Mengurus berbilang kata laluan merentasi pelbagai platform boleh menjadi menakutkan. Penjana Kata Laluan Tanpa Kewarganegaraan memudahkan proses ini menggunakan algoritma Kata Laluan Induk tanpa negara yang selamat. Alat ini menghapuskan keperluan untuk menyimpan kata laluan sambil memastikan keselamatan yang teguh. Ia tersedia untuk pemasangan di Kedai Web Chrome, beroperasi sepenuhnya di luar talian untuk privasi maksimum.
Cth: Jana kata laluan untuk Facebook
Penjana Kata Laluan Tanpa Negara menggunakan fungsi cincang kriptografi untuk menjana kata laluan unik untuk setiap tapak web. Algoritma memastikan kata laluan yang dijana mematuhi kekangan yang ditentukan pengguna, seperti jenis aksara yang diperlukan dan panjang maksimum.
Berikut ialah pecahan proses penjanaan kata laluan:
Hashing: Input digabungkan menjadi satu rentetan dan dicincang menggunakan algoritma SHA-256. Ini memastikan nilai cincang yang unik dan deterministik untuk setiap set input.
Pembinaan Kata Laluan:
Di bawah ialah fungsi utama yang menggerakkan Penjana Kata Laluan Tanpa Negara:
const upperChars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'; const lowerChars = 'abcdefghijklmnopqrstuvwxyz'; const numberChars = '0123456789'; const specialChars = '!@#$%^&*()'; const CHARACTER_SETS = { uppercase: upperChars, lowercase: lowerChars, number: numberChars, special: specialChars, };
async function hashPassword(userData) { const combinedString = userData.domain + userData.username + userData.masterPassword + userData.pwVersion; const encoder = new TextEncoder(); const passwordHash = await crypto.subtle.digest('SHA-256', encoder.encode(combinedString)); const passwordHashArray = Array.from(new Uint8Array(passwordHash)); const allRequiredChars = getRequireChars(getRequireRules( userData.isRequiredUpperCase, userData.isRequiredLowerCase, userData.isRequiredNumber, userData.isRequiredSpecial )); let password = ""; for (let i = 0; i < userData.maxLength; i++) { let byte = passwordHashArray[i % passwordHashArray.length]; password += allRequiredChars[byte % allRequiredChars.length]; } return password; }
function getRequireRules(isRequiredUpperCase, isRequiredLowerCase, isRequiredNumber, isRequiredSpecial) { let rules = []; if (isRequiredUpperCase) rules.push('uppercase'); if (isRequiredLowerCase) rules.push('lowercase'); if (isRequiredNumber) rules.push('number'); if (isRequiredSpecial) rules.push('special'); return rules; }
Penjana Kata Laluan Tanpa Negara ialah alat yang berkuasa untuk mengurus kata laluan dengan selamat dan cekap. Dengan memanfaatkan pencincangan kriptografi dan algoritma tanpa kewarganegaraan, ia menawarkan perlindungan yang teguh tanpa menjejaskan kebolehgunaan. Pasangnya daripada Kedai Web Chrome!
Sila semak GitHub untuk mendapatkan butiran lanjut.
Menikmati projek? Jangan lupa bintangkannya ⭐!
Atas ialah kandungan terperinci Penjana Kata Laluan Tanpa Kewarganegaraan: Pengurusan Kata Laluan Selamat dan Tanpa Kerumitan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!