网页加密


设置SHA256加密密码

如果本身博客中没有安装加密脚本,提前安装即可。

因为hexo-matery博客中已经安装有文章加密功能(/libs/cryptojs/crypto-js.min.js),所以博客中hexo可以实现加密功能,加密使用SHA256加密,所以在加密前需要先将你的密码转换成SHA256格式,至于SHA256加密,请自行网上搜索在线生成,例如: http://www.ttmd5.com/hash.php?type=9

输入你设置的密码,生成后复制下来。

指定页面开启密码功能

比如在工资清单页面设置密码,则找到根目录下工资清单文件夹下的index.md页面添加password选项。

---
title: 工资清单
date: 2021-10-03 20:04:51
type: "salarylist"
layout: "salarylist"
password: ""
---

将刚刚生成的密钥粘贴到PASSWORD中。

增加配置项

在主题配置文件中加入密码配置项,方便以后设置开启或关闭

# 工资单加密,以后不需要则将enable选为false
SalaryVerifyPassword:
   enable: true
   promptMessage: 该工资清单已加密,请输入密码访问
   errorMessage: 密码错误,将返回主页!

插入加密代码

在需要设置的页面(主体目录下/layout/salarylist.ejs,我的工资页面对应的ejs是salarylist.ejs 所以是找到它)中最前面插入代码:

<% if (theme.SalaryVerifyPassword.enable) { %> <script src="<%- theme.libs.js.crypto %>"></script> <script> (function() { let pwd = '<%- page.password %>'; if (pwd && pwd.length > 0) { if (pwd !== CryptoJS.SHA256(prompt('<%- theme.SalaryVerifyPassword.promptMessage %>')).toString(CryptoJS.enc.Hex)) { alert('<%- theme.SalaryVerifyPassword.errorMessage %>'); location.href = '<%- url_for("/") %>'; } } })(); </script> <% } %>

切记,如果需要改动里面的变量名称,配置项中的相应名称需保持一致,否则不生效。


评论
 上一篇
Hexo博客封面增加视频背景及纹理 Hexo博客封面增加视频背景及纹理
先看一下背景视频封面效果截图: 增加视频背景在需要加入视频的链接插入代码。例如在我博客的首页封面改为视频背景,则找到主题下的/layout/_partial/index-cover.ejs,然后将下列代码插入文件最前方保存即可生成视频背景
2021-10-05
下一篇 
Echarts实践之网页工资清单 Echarts实践之网页工资清单
先看一下做成是效果 在网页上生成数据可视化图表,并且达到自适应各类设备屏幕大小。 独立性较强,不需要依赖,直接下载一个js脚本,对着手册按照自己的需求改好代码就可以完美实现。 实现原理 使用的是Apache ECharts图表库,里面有许
2021-10-02
  目录