2011-02-08 18 views
13

मैं विंडोज और मैक के लिए एक छोटा सा क्रॉस प्लेटफॉर्म उत्पाद सी ++/Obj सी में लिखा पर काम कर रहा हूँ जाँच। मुझे इसके लिए एक लाइसेंसिंग मॉड्यूल लागू करने के लिए कहा गया है। यह कार्य हमारे सभी उत्पादों के लिए लाइसेंसिंग शुरू करने के लिए एक बहुत ही महत्वाकांक्षी परियोजना का हिस्सा है। इसके अंत में, हमारे पास एक पूर्ण लाइसेंसिंग योजना होगी जहां हम अपने ग्राहकों को लाइसेंस बेचने में सक्षम होंगे जो सालाना नवीनीकरण, लाइसेंस स्तर इत्यादि का समर्थन करते हैं। मेरी समस्या यह है कि मुझे लाइसेंस जांचकर्ताओं को लागू करने के बारे में पहली बात नहीं पता है। क्या कोई मुझे कुछ बता सकता है कि इसके लिए कैसे किया जाए? क्या कोई ओपन सोर्स लाइसेंसिंग मॉड्यूल है जिसके बारे में मैं पढ़ सकता हूं?को लागू लाइसेंस पुस्तकालय

उत्तर

16

मैं आंशिक कुंजी सत्यापन (PKV) की एक प्रणाली का उपयोग, और मैं एक PHP जनरेटर के साथ सी # में इस क्रियान्वित किया है। Google विभिन्न हिट, स्पष्टीकरण और कार्यान्वयन के साथ आएगा; लेकिन ब्रैंडन Staggs (डेल्फी में यद्यपि!) एक अच्छा सिंहावलोकन लिखा था, यहाँ:

http://www.brandonstaggs.com/2007/07/26/implementing-a-partial-serial-number-verification-system-in-delphi/

PKV एक हैश के साथ कुंजी में कुछ जानकारी (लाइसेंस के प्रकार, सीरियल नंबर उत्पाद, तिथि, आदि) एन्कोडिंग से काम करता है उपयोगकर्ता नाम, और एन्कोडेड जानकारी के हैंश। अधिकांश कुंजी में वास्तव में एकाधिक एक चार हैश होते हैं। विचार यह है कि आप केवल इन हैंश का सबसेट जांचते हैं। सटीक सबसेट है कि जारी किए गए कुछ सुरक्षा के लिए समय के साथ बदला जा सकता है और रिवर्स इंजीनियरिंग के कुछ प्रकार के खिलाफ की रक्षा।

मैं भी अंधेरा करना क्या लाइसेंस में प्रत्येक चार का मतलब है मदद करने के लिए कुंजी एन्क्रिप्ट जाएगा। अन्यथा कई कुंजी के साथ किसी का निर्धारण हो सकता है कुछ चार पदों में कुछ बातें मतलब ("ओह, वर्ण 3-4 सीरियल नंबर हैं")। यह आपके कवच में एक चिल्ला हो सकता है!

आपके द्वारा विकसित कोई भी लाइसेंस सिस्टम अपूर्ण होगा। यह क्रैक करने योग्य होगा, और यदि आपके उत्पाद लोकप्रिय हैं, तो क्रैक हो जाएगा। हालांकि एक मजबूत तर्क है कि ईमानदार लोगों को ईमानदार रखने के लिए एक लाइसेंस सिस्टम मौजूद है, और थोड़ा बेईमान लोगों के लिए पर्याप्त बाधा उत्पन्न करता है - लेकिन इतनी बाधा नहीं है कि यह असुविधा का बहुत अधिक हो जाता है (उदाहरण के लिए। मैं आमतौर पर हार्डवेयर लॉकिंग के खिलाफ हूं)। जो लोग आपके सिस्टम को हैक करते हैं, वैसे भी इसके लिए भुगतान नहीं करेंगे। पिछले पैराग्राफ के लिए

+2

+1, यह कभी भी सही नहीं होगा, लेकिन यदि यह काफी कठिन है तो यह ठीक रहेगा। –

+0

मैं अपने विवरण और विशेष रूप से अंतिम अनुच्छेद प्यार करता हूँ। यह सब सारांशित करता है! –

संबंधित मुद्दे