欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 教育 > 幼教 > ubuntu上对python脚本进行简单加密

ubuntu上对python脚本进行简单加密

2025/5/7 1:11:40 来源:https://blog.csdn.net/lstef/article/details/143735990  浏览:    关键词:ubuntu上对python脚本进行简单加密

专栏总目录 

一、使用PyInstaller

        pyInstaller可以将Python脚本打包成一个独立的可执行文件,不包含源代码

(一)安装PyInstaller:

pip install pyinstaller

(二)使用PyInstaller打包脚本:

pyinstaller --onefile your_script.py

        将在./dist目录下创建一个名为your_script的可执行文件(在Windows上是.exe,在Linux上是无扩展名的)。

二、使用pycryptodome

(一)安装pycryptodome

pip install pycryptodome

(二)编写脚本加密、解密运行脚本

        1. 脚本加密程序

from Crypto.Cipher import AES
import base64
import osdef pad(s):return s + (AES.block_size - len(s) % AES.block_size) * chr(AES.block_size - len(s) % AES.block_size)def encrypt(message, key):message = pad(message)cipher = AES.new(key, AES.MODE_CBC)return base64.b64encode(cipher.iv + cipher.encrypt(message))key = os.urandom(16)  # 生成随机密钥
with open('script.py', 'r') as f:script = f.read()encrypted_script = encrypt(script, key)with open('encrypted_script.bin', 'wb') as f:f.write(encrypted_script)print(f"密钥(请妥善保管,丢失后将无法解密): {base64.b64encode(key).decode()}")

        这个加密脚本,它会读取script.py,加密它,并将加密后的内容保存到encrypted_script.bin

        2. 解密运行程序:

from Crypto.Cipher import AES
import base64def unpad(s):return s[:-ord(s[len(s) - 1:])]def decrypt(encrypted_script, key):encrypted_script = base64.b64decode(encrypted_script)cipher = AES.new(key, AES.MODE_CBC, encrypted_script[:AES.block_size])return unpad(cipher.decrypt(encrypted_script[AES.block_size:]))key = base64.b64decode(input("请输入密钥: "))
with open('encrypted_script.bin', 'rb') as f:encrypted_script = f.read()decrypted_script = decrypt(encrypted_script, key)exec(decrypted_script)

        这个解密脚本,它会要求你输入密钥,然后解密并执行原始的Python脚本。

 

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词