2010-06-24 7 views
3

POS 응용 프로그램을 작성 했으므로 다른 버전을 만들고 싶습니다. 기본 버전, 프리미엄 버전 및 정식 버전과 같은 것입니다. 따라서 클라이언트가 더 많은 돈을 지불하면 동일한 애플리케이션에서 더 많은 기능을 사용할 수 있습니다. 하나의 표준 응용 프로그램을 유지할 수 있지만 응용 프로그램의 기능은 사용자가 입력하는 라이센스 키에 따라 사용 가능/사용 불가능으로 설정 될 수 있습니까? 특정 키를 입력 한 경우에만 실행할 수있는 코드 부분을 제한하십시오.라이센스 키를 통한 코드 액세스 활성화/비활성화 - 응용 프로그램 버전 지정

모든 아이디어들 ...

답변

3

이 작업을 수행하는 여러 가지 방법이 숙련 된 사람들이 당신이 그것을 선택하는 솔루션에 따라, 그러나 ;-) 그것으로 시간을 넣어 기꺼이하는 경우에 그들 모두 깨뜨릴 수있다 당신의 목표에 따라 점진적으로 더 많은 일을 요구할 것입니다. 그래서 현실적이고 현명하게 선택하십시오.

실제 라이센스 키의 경우 rsa와 같은 표준 공개 - 개인 키 암호화 스키마를 사용하여 생성하는 것이 좋습니다. 즉, 사용자의 이름 (불법적으로 공유 된 라이센스 키를 추적 할 수 있도록)을 포함하는 라이센스 키 텍스트 문자열과 활성화 할 코드에 대한 정보를 작성합니다. 개인 키를 사용하여 라이센스를 암호화하고 포함 된 공개 키로 앱을 배포하십시오. 앱이 시작되면 라이센스 키를 읽고 공개 키를 사용하여 해독합니다. 이것은 사람들이 가짜 키를 수정하거나 생성하는 것을 사실상 불가능하게 만듭니다.

실제 코드 활성화에는 프로덕션 코드에서 사용한 두 가지 옵션이 있습니다. 라이센스 키의 플래그를 사용하여 코드의 어느 부분을 활성화할지 지정하고 if if 문을 사용하여 활성화하십시오. 또는 프로그래밍 언어에 따라 라이센스 키에서 특정 키 파일없이 코드의 일부를 사용할 수 없도록 동적으로로드 할 수 있습니다 (사용자 정의 클래스 로더를 사용하여 Java에서이 작업을 수행했습니다). 마지막 솔루션은 첫 번째 솔루션보다 훨씬 많은 작업이 필요하므로 솔루션 설계를 시작하기 전에 먼저 생각하십시오.

+0

게시물이 정말로 날짜가 있어도 정확하게이 종류의 구현을 찾고 있습니다. 안드로이드에 대한 자바 예제가 있습니까? 많은 감사 – Vale