hexo-blog-encrypt加密插件

  1. password: mikemessi
  • Security
  • 这是个啥

    首先, 这是 Hexo 生态圈中 最好的 博客加密插件
    
    你可能需要写一些私密的博客, 通过密码验证的方式让人不能随意浏览.
    
    这在 wordpress, emlog 或是其他博客系统中都很容易实现, 然而 hexo 除外. :(
    

    hexo-blog-encrypt

    为了解决这个问题, 让我们有请 "hexo-blog-encrypt".
    

    特性

    一旦你输入了正确的密码, 它将会被存储在本地浏览器的 localStorage中. 按个按钮, 密码将会被清空. 若博客中又脚本, 它将会被正确地执行.
    
    支持按标签加密.
    
    所有的核心功能都是由原生的 API 所提供的. 在 Node.js中, 我们使用 Crypto. 在浏览器中, 我们使用 Web Crypto API.
    
    PBKDF2, SHA256 被用于分发密钥, AES256-CBC 被用于加解密, 我们还使用 HMAC 来验证密文的来源, 并确保其未被篡改.
    
    我们广泛地使用 Promise 来进行异步操作, 以此确保线程不被杜塞.
    
    过时的浏览器将不能正常显示, 因此, 请升级您的浏览器.
    

    在线演示

    点击 Demo Page, 所有的密码都是 hello.
    

    安装

    npm install --save hexo-blog-encrypt
    
    或 yarn add hexo-blog-encrypt (需要) Yarn)
    

    快速使用

    将 "password" 字段添加到您文章信息头就像这样.
    

    title: Hello World
    date: 2016-03-30 21:18:02

    password: mikemessi

    再使用 hexo clean && hexo g && hexo s 在本地预览加密的文章.
    

    设置优先级

    文章信息头 > 按标签加密
    高级设置
    文章信息头


    title: Hello World
    tags:

    • 作为日记加密
      date: 2016-03-30 21:12:21
      password: mikemessi
      abstract: 有东西被加密了, 请输入密码查看.
      message: 您好, 这里需要密码.
      wrong_pass_message: 抱歉, 这个密码看着不太对, 请再试试.
      wrong_hash_message: 抱歉, 这个文章不能被校验, 不过您还是能看看解密后的内容.

    _config.yml
    示例

    Security

    encrypt: # hexo-blog-encrypt
    abstract: 有东西被加密了, 请输入密码查看.
    message: 您好, 这里需要密码.
    tags:

    • {name: tagName, password: 密码A}
    • {name: tagName, password: 密码B}
      template:

      wrong_pass_message: 抱歉, 这个密码看着不太对, 请再试试.
      wrong_hash_message: 抱歉, 这个文章不能被校验, 不过您还是能看看解密后的内容.

    配置优先级

    文章信息头 > _config.yml (站点根目录下的) > 默认配置
    关于 Callback 函数

    在部分博客中, 解密后部分元素可能无法正常显示或者表现, 这属于已知问题. 目前的解决办法是通过自行查阅自己的博客中的代码, 了解到在 onload 事件发生时调用了哪些函数, 并将这些函数挑选后写入到博客内容中. 如:


    title: Callback Test
    date: 2019-12-21 11:54:07
    tags:

    - Encrypted
    

    This is a blog to test Callback functions. You just need to add code at the last of your post like following:

    It will be called after the blog decrypted.

    例子在: Callback 例子.
    对 TOC 进行加密

    如果你有一篇文章使用了 TOC,你需要修改模板的部分代码。这里用 landscape 作为例子:

    你可以在 hexo/themes/landscape/layout/_partial/article.ejs 找到 article.ejs。
    然后找到 <% post.content %> 这段代码,通常在30行左右。
    使用如下的代码来替代它:
    

    <% if(post.toc == true){ %>

    style=”display:none” <% } %>>
    Index
    <% if (post.encrypt == true) { %>
    <%- toc(post.origin, {list_number: true}) %>
    <% } else { %>
    <%- toc(post.content, {list_number: true}) %>
    <% } %>

    <% } %>
    <%- post.content %>

    许可


    转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 Web@Cool02.com

    文章标题:hexo-blog-encrypt加密插件

    文章字数:842

    本文作者:零贰

    发布时间:2020-01-08, 09:10:13

    最后更新:2020-07-16, 11:39:43

    原始链接:/html/20200108091013.html

    版权声明: "署名-非商用-相同方式共享 4.0" 转载请保留原文链接及作者。

    目录
    零址导航 Gitee