关于此生成器
此预设为 MongoDB 应用程序用户创建一个随机数据库凭据。PwdGen 独立于 MongoDB,不会连接到 Atlas,也不会接收生成的值。
此预设以characters模式启动,每次生成10个独立结果。所有可见设置均可调整,生成的值不会发送到PwdGen。
适用场景
- 为此特定用例创建新凭据
- 替换重复使用或弱密码
- 在安全存储前本地生成值
字母表大小、熵与暴力破解假设
理论熵上限计算公式为 H = L × log2(A),其中 L 为生成长度,A 为当前允许的字符数。
| 长度 | 字母表 | 搜索空间 | 熵上限 | 平均破解时间(10亿次/秒) |
|---|---|---|---|---|
| 24 | 68 | 6824 | 146.1 位 | 1.51e26 years |
重要提示:这些是针对均匀随机值的数学估计。必需位置、限制数量、重复密码、字典模式、泄露凭据以及实际密码哈希成本可能会显著改变结果。该数字并非安全保证。
MongoDB 凭据部署指南
为应用程序、管理员、备份和自动化创建独立的数据库用户。为每个身份仅分配所需角色,并将凭据存储在源代码之外。
使用 Node.js 生成 URL 安全值
node -e "console.log(require('crypto').randomBytes(24).toString('base64url'))" - 将 MONGODB_URI 存储在密钥管理器或受保护的环境变量中。
- 当连接字符串 URI 要求时,对用户名和密码组件进行百分号编码。
- 使用 SCRAM-SHA-256 进行身份验证,使用 TLS 进行传输保护;两者不可相互替代。
- 将凭据与 Atlas IP 访问列表或等效网络控制结合使用。
- 当怀疑凭据泄露时进行轮换,并验证旧凭据已被撤销。
如何安全使用结果
- 检查目标当前的密码规则
- 使用唯一结果,并在可用时启用 MFA
- 将恢复代码与密码分开存储
生成与隐私方法
此预设使用浏览器 Web Crypto API 进行随机选择。重新生成、更改设置、选择和复制结果不会将生成的凭据发送到 PwdGen。密码破解时间估算器也在本地运行,仅为估算值,并非保证。
Mongodb 密码生成器 FAQ
我可以将 MongoDB 密码直接放入连接字符串吗?
避免硬编码。将连接字符串存储在密钥管理器或受保护的环境变量中,并在 URI 格式要求时对用户名或密码字符进行百分比编码。
SCRAM-SHA-256 能否替代 TLS?
不能。SCRAM 用于验证数据库用户身份,而 TLS 保护传输中的流量。生产环境通常需要两者加上适当的网络访问控制。
每个 MongoDB 应用程序是否应使用单独的数据库用户?
是的。单独的应用程序、管理员、备份和自动化身份使得最小权限角色、审计和凭据轮换更容易实施。