htpasswd 生成器
在线生成 Apache htpasswd 密码哈希,支持 bcrypt、MD5(APR1)、SHA1 和明文。所有哈希计算在浏览器中完成,密码不会离开本地。免费无需注册。
使用方法
- 输入用户名和密码,或点击随机生成创建随机密码。
- 选择算法(推荐 bcrypt)。
- 如果使用 bcrypt,可调整成本因子(越高越安全,但越慢)。
- 点击生成 htpasswd 行。
- 复制结果并添加到
.htpasswd文件。
算法对比
| 算法 | 格式前缀 | 安全性 | 说明 |
|---|---|---|---|
| bcrypt | $2y$ | 极佳 | 推荐用于所有新部署 |
| MD5 (APR1) | $apr1$ | 中等 | Apache 特有的带盐 MD5 变体 |
| SHA1 | {SHA} | 弱 | 无盐,易受彩虹表攻击 |
| 明文 | (无) | 无 | 仅用于测试,生产环境禁用 |
Apache 配置示例
# .htaccess
AuthType Basic
AuthName "受限区域"
AuthUserFile /path/to/.htpasswd
Require valid-user
批量模式
在批量模式区域输入多个 user:password 对(每行一对),点击批量生成即可一次生成完整的 .htpasswd 文件。
安全建议
- 始终将
.htpasswd文件存储在文档根目录之外,防止被直接访问。 - 生产服务器推荐使用成本因子 ≥ 10 的 bcrypt。
- 密码泄露后立即重新生成哈希值——bcrypt 哈希无法逆向还原。
FAQ
htpasswd 文件是什么?
htpasswd 文件被 Apache HTTP Server(以及通过模块支持的 nginx)用于存储 HTTP 基本认证的用户名和密码哈希对,每行格式为 username:hashed_password。
应该使用哪种算法?
推荐使用 bcrypt(默认值),它具有可配置的成本因子,能有效减缓暴力破解攻击,是最安全的选项。MD5(APR1)仍被广泛使用但安全性较弱。SHA1 和明文不安全,不建议在新部署中使用。
bcrypt 成本因子是什么?
成本因子(4–12)控制计算轮数。值越高,计算时间越长,使暴力破解攻击成本更高。默认值 10 在安全性和服务器性能之间取得了良好平衡。
我的密码会发送到服务器吗?
不会。包括 bcrypt 在内的所有哈希计算都完全在浏览器中通过 JavaScript 运行,密码不会离开此页面。
批量模式是什么?
批量模式允许一次为多个 user:password 对生成 htpasswd 行,每行输入一对(冒号分隔),点击「批量生成」即可。
如何使用生成的 htpasswd 行?
复制生成的行并追加到 .htpasswd 文件,或将其作为文件内容。在 Apache 中,用 AuthUserFile 指向该文件并设置 AuthType Basic。