질문 : Python 코드를 어떻게 보호합니까?
저는 고용주의 고객에게 배포 할 Python 소프트웨어를 개발 중입니다. 고용주가 시간 제한 라이선스 파일로 소프트웨어 사용을 제한하려고합니다.
.py 파일 또는 .pyc 파일을 배포하면 라이센스 파일을 확인하는 코드를 쉽게 (디 컴파일 및) 제거 할 수 있습니다.
또 다른 측면은 내 고용주가 코드가 도난 당하거나 적어도 "새로운 아이디어"가 될 수 있다는 두려움 때문에 고객이 코드를 읽는 것을 원하지 않는다는 것입니다.
이 문제를 처리하는 좋은 방법이 있습니까? 기성품 솔루션을 사용하는 것이 좋습니다.
소프트웨어는 Linux 시스템에서 실행될 것입니다 (그래서 py2exe가 트릭을 할 것이라고 생각하지 않습니다).
답변
바이트 코드로 컴파일 된 해석 언어 인 Python은 잠그기가 매우 어렵습니다. py2exe 와 같은 exe-packager를 사용하더라도 실행 파일의 레이아웃은 잘 알려져 있으며 Python 바이트 코드는 잘 이해됩니다.
일반적으로 이와 같은 경우에는 트레이드 오프를해야합니다. 코드를 보호하는 것이 실제로 얼마나 중요합니까? 거기에 진짜 비밀이 있습니까 (예 : 은행 송금의 대칭 암호화 키), 아니면 편집증에 불과합니까? 최고의 제품을 가장 빨리 개발하고 참신한 아이디어의 가치를 현실적으로 표현할 수있는 언어를 선택하십시오.
라이센스 검사를 안전하게 시행해야한다고 결정한 경우에는 라이센스 검사 코드가 리버스 엔지니어링에 매우 어렵지만 (불가능하지는 않습니다!) 코드의 대부분을 Python에 남겨 둘 수 있도록 작은 C 확장으로 작성합니다. .
출처 : https://stackoverflow.com/questions/261638/how-do-i-protect-python-code
'프로그래밍 언어 > Python' 카테고리의 다른 글
파이썬에서 코드 블록을 주석 처리하는 방법 (0) | 2021.10.26 |
---|---|
Python보다 C ++에서 stdin에서 행을 읽는 것이 훨씬 느린 이유 (0) | 2021.10.26 |
Python의 time.time ()은 로컬 또는 UTC 타임 스탬프를 반환하는 방법 (0) | 2021.10.26 |
최신 Python에서 사용자 지정 예외를 선언하는 적절한 방법 (0) | 2021.10.26 |
Pandas에서 DataFrame의 행을 반복하는 방법 (0) | 2021.10.26 |