Li4n0 / hugo_encryptor

A tools for encrypting hugo posts
155 stars 28 forks source link

密码错误:无法解密 #3

Closed keatonlao closed 4 years ago

keatonlao commented 4 years ago

初次运行报错

$ python3  hugo-encryptor.py 
Traceback (most recent call last):
  File "hugo-encryptor.py", line 7, in <module>
    from Crypto.Cipher import AES
ModuleNotFoundError: No module named 'Crypto'

运行脚本正常

通过 这篇文章 解决问题。

$ chmod  +x hugo-encryptor.py

$ python3 hugo-encryptor.py 
./keatonlao/courses/hugo/这是一篇加密文档/index.html

网页上输入密码,提示:密码错误

测试内容直接使用 README 里的范例。

**这里必须存在一些明文文字以及概要标签:**
<!--more-->
{{% hugo-encryptor "123456" %}}

# 这里是你要加密的内容!

这里是你要加密的内容!

**别忘了闭合 `hugo-encryptor` shortcode 标签:**

{{% /hugo-encryptor %}}

再次 运行脚本

$ python3 hugo-encryptor.py 
./keatonlao/courses/hugo/这是一篇加密文档/index.html
Traceback (most recent call last):
  File "hugo-encryptor.py", line 42, in <module>
    md5.update(block['data-password'].encode('utf-8'))
  File "/home/pancras/.local/lib/python3.7/site-packages/bs4/element.py", line 1016, in __getitem__
    return self.attrs[key]
KeyError: 'data-password'

删除 /public 重新运行 ==> 死循环

oyiadin commented 4 years ago

Hi,没有执行权限的问题已在 README 更新,防止误导后来人,非常感谢 ;-)

密码错误的问题,我们尝试复现下,如果无法复现,可能需要你提供执行脚本之前的 public/ 下该文章的对应 html 页。

oyiadin commented 4 years ago

Hi,我在本地环境复现失败了。目前已知的一种情况是,如果 crypto.js 加载失败,确实会提示“密码错误”。你可以试一下打开浏览器开发者工具的 console,如果有类似 ReferenceError: CryptoJS is not defined 的字样,说明正是这个原因造成的,我们会考虑换一个 CDN 或者直接提供本地文件。

如果不是这个原因,麻烦提供一份加密后的 html 文件,以及对应密码,便于我们找到问题。

十分感谢反馈~

oyiadin commented 4 years ago

Hi,这个问题我们仍无法复现,可能是偶发问题。暂且关闭本 issue,有问题欢迎继续补充信息,十分感谢反馈