如何使用hexo-encrypt插件对Hexo博客进行加密

入个使用hexo-encrypt 插件加密Hexo博客

Hexo 文章加密可以帮助你保护私密内容,确保只有知道密码的用户才能访问。本文将介绍如何使用 hexo-encrypt 插件实现 Hexo 博客的文章加密。


1. 安装 hexo-encrypt 插件

首先,在你的 Hexo 博客根目录下打开终端,运行以下命令安装 hexo-encrypt 插件:

1
npm install hexo-encrypt --save

2. 配置 _config.yml

安装完成后,打开你 Hexo 博客根目录下的 _config.yml 文件,添加或修改以下配置:

1
2
3
4
5
6
7
8
9
10
11
12
# Hexo Encrypt
encrypt:
enable: true # 启用加密功能
default_password: your_default_password # 可选:设置一个默认密码,如果你不想为每篇文章单独设置密码
abstract: 这里有一些加密的内容,需要密码才能继续阅读。 # 加密文章的摘要提示
message: 嘿,这里需要密码才能访问。 # 密码输入框上方的提示信息
tags:
- name: private
password: your_tag_password # 该标签的密码
wrong_pass_message: 哦,这是一个无效的密码,请检查并重试。 # 密码错误提示
wrong_hash_message: 哦,这些解密内容无法验证,但你仍然可以查看。 # 哈希校验失败提示
# silent: true # 如果设置为 true,将禁用加密相关的日志输出

请注意:

  • your_default_password 替换为你希望设置的默认密码。如果不需要默认密码,可以删除这一行。
  • abstractmessagewrong_pass_messagewrong_hash_message 都可以根据你的需求自定义。
  • 对于 tags 部分,将 your_tag_password 替换为你希望为带有 private 标签的文章设置的密码。你可以根据需要添加更多标签及其对应的密码。

3. 加密文章

你可以通过两种主要方式加密文章:为单篇文章设置密码,或利用 _config.yml 中的配置为多篇文章设置默认密码或基于标签的密码。

方法一:为单篇文章设置密码

在你的 Hexo 文章的 Markdown 文件(例如 source/_posts/your-post.md)的头部(Front-matter)添加 password 字段,并设置你的密码:

1
2
3
4
5
6
7
8
9
10
---
title: 我的加密文章
date: 2023-10-27 10:00:00
tags:
- 加密
- 私密
password: your_article_password # 这篇文章的密码
---

这是这篇文章的秘密内容。只有输入正确密码才能看到。

your_article_password 替换为你希望为该文章设置的密码。这种方法会覆盖 _config.yml 中设置的默认密码或标签密码,确保该文章只使用此特定密码。

方法二:利用 _config.yml 中的默认密码或标签密码

a. 使用默认密码:

如果你在 _config.yml 中设置了 default_password,并且想使用这个默认密码加密文章,那么你无需在文章的 Front-matter 中添加 password 字段。文章内容会自动应用你配置的默认密码。

b. 使用标签密码:

如果你在 _config.yml 的 tags 部分为某个标签(例如 private)设置了密码,那么任何带有该标签的文章都会被加密。你只需在文章的 Front-matter 中添加对应的标签即可:

1
2
3
4
5
6
7
8
---
title: 我的私密文章
date: 2023-10-27 10:00:00
tags:
- private # 这篇文章将使用 `_config.yml` 中 `private` 标签对应的密码
---

这是这篇私密文章的内容。

4. 生成和部署博客

完成上述配置后,保存所有文件。然后,在你的 Hexo 博客根目录下运行以下命令,生成并部署你的博客:

1
2
3
hexo clean
hexo g
hexo d

现在,当访问你加密的文章时,页面上将显示密码输入框,只有输入正确的密码才能查看文章内容。



如何使用hexo-encrypt插件对Hexo博客进行加密
https://blog.qfmy.vip/hexo-encrypt-tutorial/
作者
Harrison
发布于
2025年7月7日
许可协议