htpasswd 密码生成

生成 Apache/Nginx Basic 认证所需的 .htpasswd 文件条目,支持 Bcrypt、MD5、SHA1 算法

Cost 越高越安全,但生成越慢(10 约需 0.1秒,12 约需 0.4秒)
正在计算 Bcrypt 哈希,请稍候...
关于 htpasswd 密码生成
  • .htpasswd 文件用于 Apache/Nginx 的 HTTP Basic 认证,每行格式为 用户名:哈希密码
  • Bcrypt 是目前最安全的选择,Apache 2.4+ 和 Nginx 均支持;MD5($apr1$)兼容性最好
  • 支持单条生成、批量生成(多用户)和验证(检查密码是否匹配已有哈希)三种模式
操作说明
  • 单条模式:输入用户名和密码,选择算法,点击「生成」
  • 批量模式:每行输入 用户名:密码,一次生成多条记录
  • 验证模式:输入用户名、密码和已有哈希,验证密码是否正确(支持 Bcrypt、APR1-MD5、SHA1、明文)
  • 点击「下载 .htpasswd」将结果保存为文件,可直接部署到服务器
注意事项
  • Bcrypt 哈希每次生成结果不同(含随机盐),但验证时均有效,这是正常现象
  • Bcrypt Cost 建议设为 10~12,过低(≤6)安全性不足,过高(≥13)生成时间过长
  • 所有哈希计算在浏览器本地完成,密码不会上传服务器
  • 明文模式仅用于测试,生产环境严禁使用
HTTP Basic 认证知识详解
各哈希算法安全性对比
算法前缀安全性速度推荐
Bcrypt$2y$⭐⭐⭐⭐⭐慢(可调)✅ 推荐
MD5($apr1$)$apr1$⭐⭐⭐中等⚠️ 可用
SHA1{SHA}⭐⭐❌ 不推荐
明文最快❌ 禁止
Nginx Basic 认证配置示例
server { listen 80; server_name example.com; location /admin/ { # 启用 Basic 认证 auth_basic "管理后台"; auth_basic_user_file /etc/nginx/.htpasswd; proxy_pass http://127.0.0.1:8080; } }
命令行生成 htpasswd
# 安装 apache2-utils(Ubuntu/Debian) sudo apt install apache2-utils # 创建新文件并添加用户(Bcrypt) htpasswd -cB /etc/nginx/.htpasswd admin # 向已有文件追加用户 htpasswd -B /etc/nginx/.htpasswd user2 # 验证密码 htpasswd -v /etc/nginx/.htpasswd admin # 删除用户 htpasswd -D /etc/nginx/.htpasswd user2