无需登录 数据私有 本地保存

.htpasswd 文件生成器 - 加密密码用于Apache

9
0
0
0

.htpasswd 密码生成器

为 Apache HTTP 服务器生成加密密码,支持 Bcrypt、Apache MD5、SHA-1 等多种加密算法,所有运算均在浏览器本地完成,密码绝不会上传到任何服务器。

配置密码
每行一个用户名,将使用相同的密码和算法
Bcrypt $2y$ — Apache 2.4+ 推荐,最安全
APR1-MD5 $apr1$ — 广泛兼容,Apache 原生
SHA-1 {SHA} — 传统格式,兼容旧版本
SHA-256 {SHA256} — 较新版本支持
数值越高越安全,但生成速度越慢。推荐 10-12
所有计算均在浏览器本地完成
生成结果
等待生成...
常见问题与知识点
什么是 .htpasswd 文件?
.htpasswd 是 Apache HTTP 服务器用于基本认证(Basic Authentication)的密码文件。它存储用户名和加密后的密码哈希值,每行一个用户,格式为 username:password_hash。配合 .htaccess 文件使用,可以为网站目录添加密码保护,是轻量级访问控制的常用方案。
应该选择哪种加密算法?
Bcrypt ($2y$) 是首选,Apache 2.4+ 原生支持,安全性最高,能有效抵御暴力破解。Apache MD5 ($apr1$) 兼容性最好,几乎所有 Apache 版本都支持。{SHA}{SHA256} 适用于特定场景,但安全性相对较低。如果您的服务器运行 Apache 2.4 或更高版本,强烈建议使用 Bcrypt。
生成的 .htpasswd 文件应该放在哪里?
为了安全,.htpasswd 文件应该存放在网站根目录之外(即不能通过 URL 直接访问)。例如,如果网站根目录是 /var/www/html,可以将 .htpasswd 放在 /var/www/.htpasswd/etc/apache2/.htpasswd。在 .htaccess 中使用绝对路径引用它:AuthUserFile /var/www/.htpasswd
Bcrypt 成本因子应该设置多大?
成本因子(cost factor)决定了 bcrypt 的计算迭代次数(2^cost 次)。推荐值为 10-12。值越大,哈希计算越慢,抵御暴力破解的能力越强,但服务器验证登录时的 CPU 开销也越大。成本 10 大约需要 0.1 秒,成本 12 约 0.4 秒,成本 14 约 1.6 秒(取决于硬件)。对于大多数网站,成本 10 是安全与性能的良好平衡。
这个工具安全吗?密码会被上传吗?
完全安全。所有密码加密运算均在您的浏览器本地执行,使用 JavaScript 完成哈希计算。密码绝不会被发送到任何服务器,也不会存储在浏览器中。您甚至可以断开网络连接后使用此工具。生成完成后,请妥善保存生成的哈希值,并将其部署到您的 Apache 服务器上。
如何在 Apache 中启用基本认证?
在需要保护的目录中创建或编辑 .htaccess 文件,添加以下内容:
AuthType Basic
AuthName "Restricted Area"
AuthUserFile /path/to/.htpasswd
Require valid-user
确保 Apache 启用了 mod_auth_basicmod_authn_file 模块,并且 AllowOverride AuthConfig 已设置。
Bcrypt 和 MD5/APR1 的主要区别是什么?
Bcrypt 基于 Blowfish 密码算法,内置盐值(salt)和可调节的成本因子,能有效抵御彩虹表攻击和暴力破解。APR1-MD5 是对标准 MD5 的改进版本,也包含盐值,但 MD5 算法本身已被认为不够安全,计算速度过快使其易受GPU加速的暴力攻击。Bcrypt 的设计目标就是"慢",这正是密码哈希所需要的特性。