跨不同平台管理多个密码可能会令人望而生畏。无状态密码生成器使用安全、无状态主密码算法简化了此过程。该工具无需存储密码,同时确保强大的安全性。它可以在 Chrome Web Store 上安装,完全离线操作以实现最大程度的隐私。
例如:为 Facebook 生成密码
无状态密码生成器采用加密哈希函数为每个网站生成唯一的密码。该算法确保生成的密码遵守用户定义的约束,例如所需的字符类型和最大长度。
以下是密码生成过程的详细说明:
散列:输入被组合成单个字符串并使用 SHA-256 算法进行散列。这确保了每组输入都有唯一且确定的哈希值。
密码构造:
以下是支持无状态密码生成器的关键功能:
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; }
无状态密码生成器是安全高效管理密码的强大工具。通过利用加密哈希和无状态算法,它可以提供强大的保护,而不会影响可用性。从 Chrome 网上应用店安装它!
请查看 GitHub 了解更多详细信息。
喜欢这个项目吗?别忘了给它加星标⭐!
以上是无状态密码生成器:安全、无忧的密码管理的详细内容。更多信息请关注PHP中文网其他相关文章!