Python 代码混杂和加密技能

动机

Python进行商业开发时, 需求有必定的安全意识, 为了不被简略的逆向. 混杂和加密就有所必要了.

混杂

为了添加代码阅览的难度, 源代码的混杂十分必要, 一个在线的Python代码混杂网站. http://pyob.oxyry.com/

一起需求留意的是, 这个混杂其实仍是被很多人置疑的, 由于即便混杂了, 也没有改动代码的结构. 这种办法只能”防正人,不防小人“

所以, 必要的话, 在编程的时分, 能够成心做点进步逆向难度的作业:

结构略微改动, 兼并几个类到同一个文件.

面向对象的结构中, 偶然交叉一些无伤大雅的范式编程风格.

加密

1. 最基本的办法是发布pyc文件, 也便是将一切的.py源文件转化成pyc对外发布. pyc有一个局限性是依靠于python解析器的版别, 运用某一个版别的python解说器生成的pyc有必要要在相同版别下的python解说器下才干够正常作业.

运用上述办法能够便利的生成pyc, 开始的躲藏代码了. 不过pyc仍然能够被简略的破解

2. 另一种计划是凭借cython. Cython是归于PYTHON的超集,cython能够将python文件转化成c, 并编译成pyd文件. 一般将中心模块编译成pyd, 这样被破解的危险就大大降低了. 优势:资源丰富,合适快速开发。翻译成C后速度比较快。缺陷是:无法支撑JIT技能(导致纯python的履行速度比JAVA、JAVASCRIPT等要慢,所以有了PyPy)

有一个经验之谈, 你能够将一切每个模块中的某个一个方位的变量抽出, 放到一个python文件中, 运用cython来处理这个文件. 这样就会添加破解者从其他pyc文件中移除pyd文件依靠的难度了.

总结

作为一门解说型的言语,加密的难度超级大的,开源代码是王道, 可是遇到非加密不行状况, 能够挑选上面的加密办法或许混杂办法。


上一篇:Python中lambda表达式的优缺陷及运用场景
下一篇:Web应用程序测验的东西selenium用法详解

PythonTab微信大众号:

Python技能交流合作群 ( 请勿加多个群 ):

群1: 87464755

群2: 333646237

群3: 318130924

群4: 385100854