D0n9X1n / hexo-blog-encrypt

Yet, just another hexo plugin for security.
https://www.npmjs.com/package/hexo-blog-encrypt
MIT License
989 stars 102 forks source link

Break changes #98

Closed xiazeyu closed 5 years ago

xiazeyu commented 5 years ago

可能的Breaking changes

配置名称更改

例如

default_template => defaultTemplate(内容会被更改) default_message => defaultPrompt (new) defaultWrongPassword (delete) enable => (undefined) (delete) callback(现在所有的js都会被执行)

好处

使用旧API时进行提示

依赖

Crypto-js换为Crypto(Nodejs)以及window.crypto+Encoder(WebAPI).

具体为: 使用Pbkdf2进行key derivation(UTF8转换为AES所需的key和iv), 使用HMAC做verify(确保博客内容为原作者所写, 未被篡改), 使用AES256(CBC)进行加密, 全程使用Encoder进行解码处理(UTF8 String与ArrayBuffer互转)

https://developer.mozilla.org/en-US/docs/Web/API/Window/crypto https://nodejs.org/dist/latest-v12.x/docs/api/crypto.html

好处:

坏处:

D0n9X1n commented 5 years ago

Ok!

为了避免更新出现异常,第一个版本可以做一个原命名的校验,如果是原配置名称也能使用,但是 hexo g 给个 warning、过一个月再来一个版本切换。

D0n9X1n commented 5 years ago

hexo 的 _config.yml 还是维持下划线的命名风格,和 hexo 原风格一致。插件内部可以转驼峰。