文章加密
文章加密是一个 Halo 插件,用于为文章中的指定正文片段设置访问密码。
文章仍然通过 Halo 原生编辑器创建、保存和发布。访客打开文章时,受保护片段会显示为锁定状态,输入正确密码后才能查看。

系统要求
- Halo 2.24.0 或更高版本
- 支持 Halo 原生文章,不支持独立页面
安装
从应用市场安装(推荐)
- 进入 Halo 控制台的 应用市场。
- 搜索 文章加密。
- 安装并启用插件。
手动安装
- 从 GitHub Releases 下载插件 JAR。
- 在 Halo 控制台的插件管理中上传、安装并启用插件。
插件不提供独立的文章管理页面。密码设置、更新和清除都在文章编辑页的 设置 → 元数据 → 文章加密 中完成。
使用方法
使用以下标记包住需要保护的正文:
公开内容。
[hide-password]
需要输入密码才能查看的内容。
[/hide-password]
继续公开的内容。
[hide-password] 和 [/hide-password] 必须分别独占一行。
然后:
- 打开文章编辑页的 设置。
- 进入 元数据 → 文章加密。
- 输入访问密码。
- 点击设置窗口底部的 保存。
需要公开访问时,再按照 Halo 原有流程发布文章。
一篇文章可以包含多个受保护片段,所有片段共用同一个密码。
更新或清除密码
- 更新密码:输入新密码并保存。
- 清除密码:点击 清除密码 并保存。
- 取消清除:在保存前点击 取消清除。
- 输入框为空:保留当前密码,不会自动清除。
现有密码不会回显。清除密码后,正文片段将不再受到保护,建议同时删除正文中的保护标记。
安全与限制
- 密码最大长度为 256 个字符。
- 插件使用 PBKDF2 保存密码散列,不保存或回显明文密码。
- 初始文章页面不包含受保护片段的 HTML。
- 读者解锁仅适用于已经发布且公开可见的文章。
- 插件提供访问控制,不会加密存储在 Halo 中的原始正文。
- 正式环境请使用 HTTPS,避免密码在传输过程中泄露。
- 不同主题的渲染方式可能存在差异,建议安装后进行实际测试。
反馈与支持
如果这个插件对你有帮助,欢迎在 GitHub 点亮 Star。
如有问题或改进建议,欢迎提交 Issue,也欢迎通过 Pull Request 参与改进。