静态博客文章加密工具测试
2019年12月23日 - 929 字

介绍

Hugo encryptor 是一款我偶然发现的可以给静态博客文章进行加密的小工具,配置使用很简单,可惜的是不能在本地测试.

不过它足够简单,一经测试成功可以投入使用便不再需要反复测试,因此这篇博文是专门用来测试的.

下面加密内容的密码是【PASS3word】. 这部分内容在 RSS 中没有被加密,在“备忘分区”的 RSS 中可以找到加密的内容.

由于那个 python 的工具在 python 升级之后还要重新设置 venv 什么的,我嫌麻烦,于是找到类似的用 go 语言写的加密工具. 原理都是一样的,但这个工具的好处是:编译成二进制文件,随时都能使用;不需要那个奇怪的 <!-- more --> 写摘要了;提示文字可以通过 i18n 变量写成各种语言了;有了默认密码,我暂时设置为了“qwertyu”.

最后两项功能在英文页面进行测试.

以下内容被密码保护.

b2a97a58522acd04-e9b8d39c56851396a8f1a5a7-b8234a4bba86f04ae5b493db7b43ef6e47b57d8b7fa8948bd1c2a5605a8084039c2cc3848df88a9fb38c0200ab18a060d3302dea638a1d18b237ec232b61a7075d7ff4cdbb8df8be39d705bbabff4a00cc9a9c23417847227ed51ba093b026fd13fd6ba1417030368404e705d98940ff2587bf603d6e654c136b642c3b5ba00c56a9176fabaa47a9095f162ac2b49c2102a5c0286237c3cdfdad0fbdbea83c8c24219d053fd5b5304ceb02a6b2cfda6a8577487a7d6609f746541669c545b886691428c550d71adbba0555577eceb1c83cfc1bc1aefdda9d700596fead5ec8a206e59fe88bc48b0e012a440a80f3b9955d8a43e4dca69a404bdb77e532590bdc194f145d4c285f3eca60af11d972191a2fb43da20cf80f0e036af2c09fd36535fc16484b6c1841fe4285bf2f5a782e1acfaccdba14df64c41725a45a1b5713c8dc31e40a5d9a1f2012b1c8c45559fc014628d122f9db92ad569bbaa037da88044030a8d0297c48f2628232b5d6f8781d951747d2a9122556a529757f5d5813cd2c59325c44e698b91c2224fc3ce7eac201ea653ad8d47dbafa948967967944b5804921fd9677b3fb144d666303e3406e8d17bf356f999b026e2d6801080f7f8d5e21113d5eddad3342f70ffb950d6ce094ebe7f19589f2668a322ab18b461cdc19fb9ea75e7bdf2707e19e1411198841533e021371571fc1a3f0bd675845db564a340370d7830c476e49e5052a845c3dff004ff727393f33e85a814ca5f9379366c3970e50416f2fa2cce70cce2b109ecb12509d2cf756c76a8eac00b639fc07a5e0bb331cda96f137eea3692cab0181fbb039d0ae774dcf3c37d7e2c2c6fc2381a1d04161b2ab5f4111c71e6de627b12541eb303b434f62c0a5d7107156cfac39abd9d326a4fb0572893ffb2f21825cc184356490ddadad1ca3ee4132aa8b080cf99cc2cf397fcb21fce9402ee9461eca0dea8e5fc6b86392d4d80a347d8af19dcd549485002e062e313c51d020d5a9566eb03e5be743e838437b89e67f37545e1031fc69d0a4c623aa6b2af021c845033d2f60cc6cbf3d4ccf127267c34759000f06d5260daded4496b495e760e1a988338ec2712167aedd8c42d6e582c4699c2a304b5358028fc410fa89ff5e6b9421894bf85021e5177033673e3920b7e07cdb0e79272470f0410792502cf44d22d1b4c8cc8ca6b36c3e7e10e5449fc8c547c76ea10a67adc7de595b1e617a5cab76d32bdcbbcaebb922ddf9237f1b0d3e028dc12929e816528d71d6ff325fc0df2ad63b2e7af081f8454b1ddb4e62761ac3b72c1fd4a1e523e9de6039d88fa38d1d3fd95d9eeea58c4086e755f1d69e2a9026f5871dcb2bed26d3179fe87da53a046a793c21695fdd681bfab06a56b34f18524d3ed521da5c53b13d6053d5409f5bc94fa3c04f50354f2aa6ab5c0f22e64cfd116070deb2f5748ee212a19304f698014b4653c31fe6f8eb5167d1da44735a8f35cdb9edd9fce3b48f4db6db2ed2b6056f9cb66150876df9d0e44567411fbe1c94b3646eedd668bb549c6a044400a88702cee765dc5ec8d186a9a85d4f323a4761f8dd99cb61ee79f697500ac6a237713722c1fc2ee798e39868bfe705dc837f123df0e1731abb28d49482ee944dd61e5a00d87ed37d1097c4a0e2521a2b6b064ed26bde001193c65db647299fe4b1890b78db155aa66ea0285d45f78f6ffa322cf48ca864025bac30021a1f4e39c92aea79e8ea6be89cfc8b38aedab65c61cbad97c3cb5dfe09e776c8165d7bbffcd9027f0ab359ce0f50cb4b0f3496496dcc94a0c5eadb7710abef59cea5523bebc52b0324ba9163677963fa0b806b38744c4a18b32ac23fa62bd7df709d873548c9a4a456d7607ce8c2a963b8c588b8aa12d3eeccefae00d622cc5d671807039415e957412a31ce4af7162b87fe54da088385830b187a5fc7358555ae9a23687e795236cefa13cef6f4632cf25d679260a1d97887d7ee882d3289925606b6271443ad40b293fde33c84d4a2b771708030caba1af4688f25b1e46b60f7cbd67497dc65df8dced9e29f233208608fede09566939a5704081af9d09a189255ba6eaaa1fde21c3fbcffea00b7d2d8a15205206ce974913a7bfa817d6b1c67e070d7d45c603a6d43e40652d17abb8641aca7304c7891e0e5a71e8fa3b71019fab3278b51b0d053b281fa3806f7da

未被加密的标题

在解密前这里的序号是1.1,解密后这里的序号是3.4.

未被加密的一级标题

在解密前这里的序号是2,解密后这里的序号是4.

未解决的问题

  1. 目录会出现问题. 可能是 css 标签被改了的原因,具体没有仔细看,也不着急解决这个问题.
  2. 本地测试时把加密内容直接隐藏了,以至于只能先把文章写完再进行加密操作. 有个解决思路是用 {{ if not .Site.IsServer }} {{ end }}layouts/shortcodes/hugo-encryptor.html 里做一下限制,不过试了一下不太会写,留待以后愿意解决再解决吧.
  3. 那个 <!-- more --> 的标签导致它上面的内容成为了 summary,而 front matter 里的 summary 不再起作用. 这倒不是什么大问题.
  4. 如果有两段加密内容的话,页面里有些 js 可能会重复,可以考虑精简精简. 还有就是“密码错误”的弹出位置可能不对,输入第二个密码却弹在第一个.(见英文页面)
  5. 阅读并理解代码,确定它的可靠性.(做那个 sha 之类的.)确定它没有从网络上获取什么 js.
  6. 弄得好看一点?