分块加密插件

起因

Fluu做了一个爆破 hexo-blog-encrypt 插件密码的工具,对于使用 hexo-blog-encrypt 插件加密的博客,大概率可以破解,只是根据密码不同需要的爆破时间不一样而已,比如说Fluu自己的博客.

Github仓库链接: NaraFluorine/hexo-blog-encrypt-cracker

hexo-blog-encrypt-cracker 的工作原理?

前后端的架构,后端是python,负责破解博客,前端负责和用户交互,选用electron,用户可以决定密码的形态是什么,更好破解,最后的数字是尝试多少次后退出.

后端会在输入url后直接爬取这个博客的内容,然后收到用户指令后启动本地爆破,爆破期间不占用任何网络资源,不需要担心ddos的问题.因为hexo是静态博客,密钥可以在本地爆破出来,所以这个系统不需要ddos.

hexo-blog-encrypt-cracker 未来的开发方向?(已终止开发)

  1. 更好看的前端
  2. 尝试封包成app,支持三端甚至安卓ios.
  3. 更大的初始词库,比如中国上市公司名称合集,中国中学名称合集,汉字密码合集等词典.
  4. 对方块增加正则表达式支持
  5. 可能会增加多线程支持
  6. 可能会增加断点续搜支持(上一次搜到哪了,停一下,输出当前搜到的最新无效密码,下一次继续从这个地方开始搜)
  7. 支持 hexo-blog-encrypt 插件的历史版本(并自动识别)

后续

Fluu发现密码生成也可以是有代价的:假设有一个密码的值域很大,那么值域暴力是不可取的.
而密码生成或者解密也可以有代价,这个代价就是 PBKDF2 插件所做的事情.
试想密钥解密都需要10s,那么暴力直接就飞升了.
所以这个 cracker 将不再维护,因为收益太小了.

hexo-blog-encrypt-ex 插件

这是一个分段加密的插件,现已应用于Fluu自己的博客中,用法和不带 -ex 的插件基本差不多.

Github仓库

下面文章的密码是 123456 :

1
2
3
4
5
6
#include<bits/stdc++.h>
using namespace std;
int main(){
int a=0;
return 0;
}

开发方向

  • 给博客增加部分可展示部分的简介
  • 支持对于目录内所有文章的加密
  • 支持对于文件的加密,并前端解密(文件,图片,声音)
  • 对于Code部分似乎有点问题,再看看怎么修,目前的问题是不能渲染行号和颜色.
  • 全文加密可能出现没有encrypt again的按钮
  • 其他优化