【发布时间】:2020-01-06 23:10:28
【问题描述】:
我有一个 python 脚本,我用密码(使用 vim)对其进行了加密,这样没有人可以查看源代码并尝试在 Jenkins 的远程服务器上运行脚本。
执行命令时:
python deploy.sh
我收到以下错误
SyntaxError: Non-UTF-8 code starting with '\xe0' in file deploy.py on line 1, but no encoding declared
我确实添加了# -*- coding:utf-8 -*-这一行
问题是运行具有密码的 python 脚本的正确方法是什么,或者是加密脚本的更好方法,这样我的源代码就被隐藏了。 同样,我不想打开文件,只是执行 python 脚本。
有什么建议,请指教。
【问题讨论】:
-
“用密码加密(使用 vim)”?诶? Python 无法执行加密的代码;它需要实际来源,而不是仅在解密后才成为该来源的密文。加密后您无法运行已编译的可执行文件(并且有一些密文而不是有效的 CPU 指令);同样的原则也适用。
-
...无论如何,如果您想争辩说它应该是可能的,您将需要记录您使用的声称生成加密但可执行脚本的精确机制. (也就是说,我向你保证,无论它使用什么加密,任何有能力在实践中实际运行脚本的人都可以轻松逆转)。
标签: python python-3.x