前言:
项目的想法来自于我们开发组的老大,说python大家用的挺多,但脚本代码容易泄露,最好是搞个小工具,方便大家给脚本加密,现在可以愉快的把数据库密码写在python脚本里了,还不担心被破解。
开发倒是很快,用C艹一上午就搞定了,用起来很舒服,但这仅仅算是一个工程产品,分享出去难以使用,后来一想,既然大家都有需求,干脆扔到web上给大家用,看看反馈。
为了方便大家使用,又花了几天业余时间,做了pyfile.com这个小工具站,专门用来解决脚本类语言的加密问题。(后续会加入shell脚本加密,总之就是专注于解释型语言的加密问题,JS除外,哈哈)。
整个项目主要完成两个任务:
- 客户提交python脚本源文件,程序给它加密,
- 执行加密后的python脚本必须输入密码,没有密码就拒绝执行。
- 密码必须支持中文甚至阿拉伯文
先给大家看一下demo效果,然后再解释实现方法。
demo下载地址 http://web.pyfile.com:8000/pyfile.com_examples.zip
![](https://img.haomeiwen.com/i5923243/33c8a91b66b8a1f4.gif)
upper windows是直接运行脚本源文件,lower windows是运行加密后的脚本,他们的输出结果是一样的,任务完成!
Web在线实现:
客户在password框里输入密码,在code里输入自己的代码,然后点击发送到服务器,
服务器接到这些数据后,做了三个工作,
- 把客户的密码转换成UTF-8编码,然后对字符串进行SHA256加密,加密后是32位字符串给步骤2使用。
- 把code客户代码内容转码后,使用AES-256对code加密,密码使用上面的SHA256生成的32位字符串,然后把密文写进文件里(密文)。
- 把客户提交的code和加密后的文件,以及使用帮助文件readme文件压缩成zip文件,推送给客户下载。
压缩包里:
- 客户输入的源代码
- 加密后的脚本
- Readme帮助文件
网址: pyfile.com 或者 www.pyfile.com
网友评论