modify: pyarmor 加密支持
This commit is contained in:
@@ -0,0 +1,53 @@
|
||||
"""测试 PyArmor 加密功能"""
|
||||
|
||||
import tempfile
|
||||
import os
|
||||
import sys
|
||||
import shutil
|
||||
|
||||
# 确保能导入项目模块
|
||||
sys.path.insert(0, os.path.join(os.path.dirname(__file__), "..", "src"))
|
||||
|
||||
|
||||
def test_pyarmor_encrypt():
|
||||
"""测试 PyArmor encrypt_script 功能"""
|
||||
import pyarmor.pyarmor as pa
|
||||
|
||||
tmpdir = tempfile.mkdtemp()
|
||||
try:
|
||||
src = os.path.join(tmpdir, "test_mod.py")
|
||||
with open(src, "w", encoding="utf-8") as f:
|
||||
f.write('def hello():\n print("Hello from PyArmor!")\n')
|
||||
|
||||
dest = os.path.join(tmpdir, "dist", "test_mod.py")
|
||||
os.makedirs(os.path.dirname(dest), exist_ok=True)
|
||||
|
||||
# Check capsule
|
||||
capsule = pa.DEFAULT_CAPSULE
|
||||
print(f"Capsule: {capsule}")
|
||||
print(f"Capsule exists: {os.path.exists(capsule)}")
|
||||
|
||||
# Try encrypt
|
||||
result = pa.encrypt_script(
|
||||
pubkey=capsule,
|
||||
filename=src,
|
||||
destname=dest,
|
||||
)
|
||||
print(f"Result: {result}")
|
||||
|
||||
# Check output
|
||||
if os.path.exists(dest):
|
||||
with open(dest, "r", encoding="utf-8") as f:
|
||||
content = f.read()
|
||||
print(f"Output length: {len(content)} bytes")
|
||||
print(f"First 300 chars:\n{content[:300]}")
|
||||
print(f"\n--- Full content ({len(content)} bytes) ---")
|
||||
print(content)
|
||||
else:
|
||||
print(f"ERROR: Output file not created at {dest}")
|
||||
finally:
|
||||
shutil.rmtree(tmpdir, ignore_errors=True)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
test_pyarmor_encrypt()
|
||||
Reference in New Issue
Block a user