• 用******户 使用了工具 Base64编解码
  • 开******发 使用了工具 MD5加密
  • 工******程 使用了工具 时间戳转换
  • 程******序 使用了工具 JSON格式化
  • 设******计 使用了工具 图片压缩
  • 产******品 使用了工具 URL编解码
  • 测******试 使用了工具 正则表达式
  • 运******维 使用了工具 密码生成器

htpasswd在线生成工具

站长工具
在线生成Apache htpasswd密码文件,支持bcrypt、MD5(APR1)、SHA、crypt等多种加密算法。支持单个和批量生成,提供Apache/Nginx配置示例,是Web服务器认证配置的必备工具
htpasswdApacheNginx密码生成bcryptMD5Basic Auth运维工具
加密算法点击快速选择加密算法
bcrypt安全: 极高
MD5 (APR1)安全: 中等
SHA安全: 较低
crypt安全: 低
明文安全: 无
加密算法:
MD5 (Apache APR1) Apache 默认,平衡性好

工具介绍

htpasswd 是 Apache Web 服务器用于 HTTP Basic 认证的用户文件。本工具可在线生成 htpasswd 格式的密码条目,支持多种加密算法,无需安装命令行工具。

生成的内容格式为 username:hashed_password,每行一个用户,保存为 .htpasswd 文件即可使用。

算法对比

算法格式安全性速度说明
bcrypt$2y$10$salt+hash极高较慢最安全的选择,支持加盐,抗暴力破解
MD5 (APR1)$apr1$salt$hash中等Apache 默认格式,平衡安全性和性能
SHA{SHA}base64hash较低极快SHA-1 哈希,安全性已不足
cryptsalthash传统 Unix 加密,仅 8 字符密码
明文username:password不加密,仅用于调试和测试环境

使用场景

应用场景推荐算法说明
Apache 目录保护bcrypt/MD5为特定目录设置访问密码,防止未授权访问
SVN 版本控制MD5 (APR1)为 SVN 仓库配置用户认证文件
Nginx 基础认证bcrypt/MD5配合 Nginx auth_basic 实现简单认证
内部系统保护bcrypt为管理后台、测试环境等添加访问控制
API 接口保护bcrypt为 REST API 添加 Basic Auth 认证
开发调试明文本地开发时快速创建测试认证文件

配置示例

# Apache 配置示例
<Directory "/var/www/html/protected">
    AuthType Basic
    AuthName "Restricted Area"
    AuthUserFile /etc/apache2/.htpasswd
    Require valid-user
</Directory>

# Nginx 配置示例
location /admin {
    auth_basic "Restricted Area";
    auth_basic_user_file /etc/nginx/.htpasswd;
}

常见问题

htpasswd 文件放在哪里?

建议放在 Web 根目录之外(如 /etc/apache2/.htpasswd),防止通过 URL 直接访问。Nginx 也建议放在 /etc/nginx/ 目录下。

bcrypt 和 MD5 怎么选?

生产环境推荐 bcrypt,安全性更高;如果需兼容老系统或追求性能,选 MD5 (APR1)。明文仅用于测试。

如何验证 htpasswd 是否生效?

访问受保护的目录,浏览器应弹出认证对话框。输入正确用户名密码后可访问,否则返回 401。

Nginx 如何使用 htpasswd?

在 location 块中添加:auth_basic "Restricted"; auth_basic_user_file /path/to/.htpasswd; 然后重启 Nginx。

如何添加新用户到现有 htpasswd 文件?

使用本工具生成新条目,然后追加到现有 .htpasswd 文件末尾(每行一个用户),注意不要覆盖已有内容。

htpasswd 支持中文用户名吗?

技术上支持,但不推荐。部分系统可能对中文编码处理不一致,建议使用英文字母和数字。

密码有长度限制吗?

crypt 算法限制 8 字符;bcrypt 最大 72 字节;MD5/SHA 无实际限制。建议密码至少 8 位,包含字母和数字。