随机密码:长度 x log2(字母表),一路算上去
字母表由预设决定:字母、数字和标点共 86 个字符,字母加数字 62 个,仅字母 52 个,仅小写 26 个。每个字符都来自 crypto.getRandomValues 上的均匀抽取,你保留的每一类字符至少出现一次,因此要求必须含数字的网站不会因为运气而失望。
因此位数是 `length x log2(alphabet)`,页面会把它打印出来:最宽字母表的二十个字符约 128 位,二十个小写字母约 94 位。二十也是这个页面不再假装你需要更多的地方——超过这一点,真正的问题不是密码本身,而是你是否在重复使用它。