跳到主要内容

.htpasswd 生成器:Apache 与 Nginx 基本认证

生成 Apache/Nginx 基本认证 .htpasswd 行:bcrypt / apr1(MD5)/ SHA-1,多用户 + 复制 + 下载,100% 浏览器本地

  • 本地处理
  • 分类 开发运维
  • 适合 分享前检查文件类型、大小、元数据和明显不匹配信号。
100% 在浏览器内运行。密码不发往任何地方、不写进 URL、不被存储。只记住你选的方案。
推荐。抗暴力破解、加盐。Apache 2.4+ 与 Nginx 都能校验。
# 添加用户后生成文件
还没有用户 —— 在上方添加。
Apache .htaccess
AuthType Basic
AuthName "Restricted"
AuthUserFile /etc/apache2/.htpasswd
Require valid-user
Nginx location 块
location /private/ {
  auth_basic "Restricted";
  auth_basic_user_file /etc/nginx/.htpasswd;
}

这个工具能做什么

在浏览器里生成完整的 Apache / Nginx 基本认证(Basic Auth)`.htpasswd` 文件。输入用户名和密码,选一种哈希方案,即得到可直接粘贴的 `username:hash` 行。支持三种方案:bcrypt(`$2y$`,当下 Apache 2.4+ 和 Nginx 都认为安全的唯一选择)、apr1(`$apr1$`,Apache 专用的加盐 MD5,老版本 `htpasswd` 的默认)、SHA-1(`{SHA}`,快但不加盐、已不 推荐,仅为兼容老系统保留)。需要几个用户就加几行,每行独立加盐 哈希,堆叠成一个完整文件。一键复制整份文件,或直接下载为 `.htpasswd`。全部以纯 JavaScript 在你的标签页里运行,bcrypt 内核 与我们的 bcrypt 工具同源(Eksblowfish 实现),apr1 / SHA-1 也全在 本地算。密码、随机盐、生成的哈希都不发往服务器、不打日志、也绝不 写进 URL。工具还会一并给出对应的 `.htaccess` 与 Nginx 配置片段, 让你清楚知道文件放上服务器后该加哪一行 `AuthUserFile` / `auth_basic_user_file`。

工具细节

输入
文本 + 数值
页面会根据工具类型展示文本框、数值控件、文件选择或结构化输入。
输出
即时结果 + 复制 + 下载
结果区优先给出可操作结果,支持项会显示复制、下载或可视化预览。
隐私
浏览器本地处理
主工具逻辑未发现外部 API 调用,输入通常留在当前标签页内处理。
保存 / 分享
本地保存偏好
偏好、历史或草稿保存在本机浏览器,不需要账号。
性能预算
首屏 JS ≤ 32 KB
没有声明 WASM 依赖,适合快速打开和移动端使用。
适用场景
开发运维 · 程序员
分类和职业标签用于推荐相关工具、组织内链,并帮助用户快速判断是否适合当前任务。

怎么用

  1. 1. 输入

    把内容粘贴或拖入工具面板。

  2. 2. 处理

    点击按钮,在浏览器内本地处理,文件不上传。

  3. 3. 复制 / 下载

    一键复制结果或下载到本地。

.htpasswd 生成器 适合怎么用

适合在上传、交付、归档、客服排查前使用,也适合任何文件离开本机前的本地复核。

适合文件任务

  • 分享前检查文件类型、大小、元数据和明显不匹配信号。
  • 上传、归档、接收或审核前整理混合文件夹。
  • 敏感文件先留在浏览器里处理,不用交给账号型服务。

文件检查项

  • 不要只凭扩展名判断真实文件类型。
  • 文件发给客户、供应商或公开页面前,先看元数据。
  • 复制、转换或导出结果确认前,保留原文件。

下一步可以接着做

这些入口会把当前任务接到更完整的工具链里。

  1. 1 .htaccess 生成器 Apache .htaccess 生成器:HTTPS 跳转、www 切换、Gzip、缓存头、防盗链。 打开
  2. 2 Bcrypt 生成器 bcrypt 密码哈希生成 + 校验:选轮数,浏览器内 hash 与对比。 打开
  3. 3 密码生成器 基于 crypto.getRandomValues 的专业级密码生成器,强密码 + Passphrase 双模式,纯浏览器运行。 打开

真实使用场景

  • 上线前用基本认证把 staging 站锁起来

    你起了个 `staging.example.com`,需要加密码墙,既不让 Google 收录, 也不让闲人乱翻。输个用户名(比如 `team`)加强密码,方案留 bcrypt, 把生成的行复制进 `/etc/nginx/.htpasswd`,再在 server 块里加 `auth_basic "Staging";` 和 `auth_basic_user_file /etc/nginx/.htpasswd;`,reload Nginx。这下每个请求都弹浏览器登录框, 爬虫拿到 401。整件事就两行配置加一个文件,而这个文件在生成过程中 始终没离开你的笔记本。

  • 给现有 Apache .htpasswd 加第二个管理员

    同事要访问一个已被 `AuthUserFile /var/www/.htpasswd` 保护的目录。 不用在服务器上重装 `htpasswd` 命令行,在这里只生成新用户那一行: 填上他的用户名和密码,复制单行 `user:$2y$...`,追加到现有文件末尾 即可。Apache 一行一个用户,追加就够,不用重新生成其他人。方案跟 现有文件保持一致即可(bcrypt 和 apr1 行混在一起也行,Apache 会按 每行挑对的校验器)。

  • 把老的 SHA-1 htpasswd 迁到 bcrypt

    你接手了一个全是 `{SHA}` 条目的 `.htpasswd`,想为了安全换成 bcrypt。 哈希没法直接转(哈希本就是单向的),所以得逐行重生成:每个用户都 让他给个新密码,把用户名 + 密码粘进来、方案设成 bcrypt,一行一行 重建文件。用多用户列表把整份替换文件在一处拼好,再下载成 `.htpasswd` 换上去。

  • 给 Nginx 上单个敏感端点加保护

    你暴露了一个不该公开的 `/metrics` 或 `/admin` 路径。生成一个单用户 `.htpasswd`(bcrypt),放到 `/etc/nginx/.htpasswd`,只包住这一个 location:`location /metrics { auth_basic "Metrics"; auth_basic_user_file /etc/nginx/.htpasswd; }`。站点其余部分照常开放。对一个还不值得上 完整鉴权系统的内部面板来说,这是最快又靠谱的一道门。

  • 给 CI 集成测试生成测试凭据

    你的集成测试需要一个带已知 Basic-Auth 用户的 Apache 容器。在本地 生成一份确定的文件(测试夹具要经典格式就选 apr1,要贴近真实就 选 bcrypt),把行复制进 `Dockerfile` 或测试夹具,让 `AuthUserFile` 指向它。因为生成是纯客户端、离线的,你可以把夹具直接放进仓库, CI 里不用任何装工具的步骤,密码也只活在你的测试配置里。

常见踩坑

  • 把 .htpasswd 放进 web 根目录里。一旦它在服务器会对外提供的路径下,任何人都能下载到你的哈希。要放在文档根目录之上(如 `/etc/apache2/.htpasswd`,而不是 `/var/www/html/.htpasswd`),并让 `AuthUserFile` 指向绝对路径。

  • 因为 SHA-1 看着最短就选它。`{SHA}` 是不加盐的 Base64 SHA-1,两个用户同密码会得到一样的哈希,彩虹表一秒破。它只为兼容老系统而存在。默认用 bcrypt,只在服务器太老不支持时才退到 apr1。

  • 忘了一行就是一个用户。每行是 `username:hash`。加用户就追加一行,删用户就删掉那一行。把多行整块粘到只该放一行的地方,或者用户名重复,Apache 只会用第一条匹配的行。

隐私说明

每一种哈希(bcrypt 的 Eksblowfish 内核、apr1 的加盐 MD5、SHA-1 摘要) 都由本标签页里的纯 JavaScript 计算。你的用户名、密码、随机盐和 生成的 `.htpasswd` 行从不接触网络、从不打日志,也被刻意排除在 URL 之外,确保任何敏感内容都不会落进浏览器历史或服务器访问日志。与本站 多数工具不同,这个工具不把任何输入同步到可分享 URL,凭据没有 "带结果分享"链接,这是有意的设计。两次访问之间唯一记住的,是你在 localStorage 里选的哈希方案(bcrypt / apr1 / SHA-1);密码永不存储。 公用机器上用完关掉标签页即可清空表单。

常见问题

类似工具组合

做你这行的人, 还会一起用这些。

Made by Toolora · 100% client-side · Updated 2026-06-14