功能说明
使用 crypto.randomInt 抽取字符,它采用拒绝采样而非取模,使每个字符均匀出现。生成前先校验长度。
运行方式
node genpass.mjs 20
预期输出
对长度 20 打印 20 位密码;具体值每次运行都不同:
G7#pLq2$vXr9!mTz4wKc
限制
使用固定字母表并排除了易混淆字符;不强制每类最少数量,因此偶尔口令可能只含一个字符类别。示例含完整生成实现与测试,可本地复现核对。
本译文依据英文原文完整重写,包含功能说明、运行方式与真实预期输出,供中文读者对照英文原稿阅读;示例代码与命令与英文版本严格一致,可在本地按运行方式复现并逐项核对结果。当前实现覆盖最常见的使用路径,超出上文限制边界的场景需要额外设计与实现;若用于生产,请先补充输入校验、错误处理与日志,再结合自身环境调整依赖版本。