Closed Lruihao closed 3 months ago
正如当时设计开发之初所担心的,内置内容加密功能的对称加密算法受限于 Hugo 的模板语法,仅通过 base64 加盐,非常简陋~。随着 Hugo 版本的更新,相关加密函数或得到支持,所以 FixIt 主题的内容加密功能预计分两个阶段进行优化。
从 Hugo 已提供的 hash 和 crypto 函数中使用尽可能更好的方法优化加密过程。
处理进度:#494
[^1]: xxhash new in Hugo v0.129.0
通过 Go/JS 开发额外的插件,来更好的内容加密算法 AES 加密内容。
AES
(如果 Hugo 后续内置支持 AES 算法相关的模板函数,则本阶段设想可放弃,在第一阶段就能达到预期目标)
第二阶段设想暂无计划,且也存在诸如无法使用 hugo server 实时调试等问题,暂且搁置。
另外,如果想自定义内容加密算法,可以新建一个 hugo 组件,覆盖 FixIt 主题的 layouts/partials/function/content-encryption.html 和 assets/js/fixit-decryptor.js,重写加解密逻辑。
layouts/partials/function/content-encryption.html
assets/js/fixit-decryptor.js
正如当时设计开发之初所担心的,内置内容加密功能的对称加密算法受限于 Hugo 的模板语法,仅通过 base64 加盐,非常简陋~。随着 Hugo 版本的更新,相关加密函数或得到支持,所以 FixIt 主题的内容加密功能预计分两个阶段进行优化。
Stage 1
从 Hugo 已提供的 hash 和 crypto 函数中使用尽可能更好的方法优化加密过程。
[^1]: xxhash new in Hugo v0.129.0
Stage 2 (Help wanted)
通过 Go/JS 开发额外的插件,来更好的内容加密算法
AES
加密内容。(如果 Hugo 后续内置支持
AES
算法相关的模板函数,则本阶段设想可放弃,在第一阶段就能达到预期目标)