hugo-fixit / FixIt

🔧 A clean, elegant but advanced blog theme for Hugo 一个简洁、优雅且高效的 Hugo 主题
https://fixit.lruihao.cn
MIT License
646 stars 96 forks source link

提高内容加密安全性 #492

Closed Lruihao closed 2 weeks ago

Lruihao commented 3 weeks ago

正如当时设计开发之初所担心的,内置内容加密功能的对称加密算法受限于 Hugo 的模板语法,仅通过 base64 加盐,非常简陋~。随着 Hugo 版本的更新,相关加密函数或得到支持,所以 FixIt 主题的内容加密功能预计分两个阶段进行优化。

Stage 1

从 Hugo 已提供的 hashcrypto 函数中使用尽可能更好的方法优化加密过程。

处理进度:#494

[^1]: xxhash new in Hugo v0.129.0

Stage 2 (Help wanted)

通过 Go/JS 开发额外的插件,来更好的内容加密算法 AES 加密内容。

(如果 Hugo 后续内置支持 AES 算法相关的模板函数,则本阶段设想可放弃,在第一阶段就能达到预期目标)

Lruihao commented 2 weeks ago

第二阶段设想暂无计划,且也存在诸如无法使用 hugo server 实时调试等问题,暂且搁置。

另外,如果想自定义内容加密算法,可以新建一个 hugo 组件,覆盖 FixIt 主题的 layouts/partials/function/content-encryption.htmlassets/js/fixit-decryptor.js,重写加解密逻辑。