यह ईमानदार ग्राहक ईमानदार रखने के लिए है।सबसे आसान लाइसेंस कुंजी जेनरेटर क्या है जो मैं 1 दिन में खुद को विकसित कर सकता हूं?
उत्तर
क्या कोई ऑपरेशन सिस्टम सीमाएं हैं? मुझे लगता है कि निम्नलिखित दृष्टिकोण काफी सरल होगा:
मशीन आईडी प्राप्त करने का एक तरीका चुनें। उदाहरण के लिए यह
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Cryptography
मेंMachineGuid
रजिस्ट्री प्रविष्टि हो सकती है। (Generating a unique machine id)उन सुविधाओं को परिभाषित करें जिन्हें आप लाइसेंस देने की योजना बना रहे हैं और उन्हें पहचानने का तरीका। आप बस उन्हें नाम दे सकते हैं। यदि आपका उत्पाद सरल है तो यह एक सुविधा हो सकती है।
सार्वजनिक/निजी कुंजी जोड़ी बनाएं।
किसी भी तरह से ग्राहक की मशीन आईडी पुनर्प्राप्त करें।आप उसे मैन्युअल रूप से भेजने के लिए कह सकते हैं या आप एक साधारण उपयोगिता बना सकते हैं या यह आपके आवेदन में एक विशेष कमांड हो सकता है।
किसी भी तरह से सुविधा आईडी और मशीन आईडी को संयोजित करें और अपनी निजी कुंजी के साथ परिणाम साइन करें। उदाहरण के लिए आप संयोजन को संयोजन बना सकते हैं। उस स्थिति में परिणाम स्ट्रिंग इस तरह दिखेगी: "आपका आवेदन नाम-12345678-9abc-def0-1234-56789abcdef0"
हस्ताक्षर बाइट्स का अनुक्रम होगा, इसलिए यदि आप इसे टेक्स्ट फॉर्म में पास करना चाहते हैं तो आपको कुछ बनाना चाहिए इसमें रूपांतरण उदाहरण के लिए आप हस्ताक्षर को Base64 स्ट्रिंग में परिवर्तित कर सकते हैं। फीचर आईडी, मशीन आईडी और उनके संयोजन के हस्ताक्षर का संयोजन लाइसेंस कुंजी होगा!
अपने आवेदन वितरण में सार्वजनिक कुंजी शामिल करें और लाइसेंस सत्यापन के लिए तर्क जोड़ें। यदि लाइसेंस वैध है तो आपको यह जांचना चाहिए कि इसका उपयोग सही मशीन पर और सही आवेदन में किया जा रहा है।
सार्वजनिक/निजी कुंजी संचालन here पर अधिक।
कृपया बताएं कि कुछ अस्पष्ट है और मैं विस्तृत उत्तर प्रदान करने का प्रयास करूंगा।
संपादित करें: मुझे यकीन है कि इन सभी का कार्यान्वयन 1 दिन में किया जा सकता है, लेकिन मैं उन लोगों से सहमत हूं जो आपको मौजूदा समाधानों का उपयोग करने का सुझाव देते हैं। विभिन्न प्लेटफार्मों और प्रोग्रामिंग भाषाओं के लिए बहुत सारे हैं।
आप किसी और से क्यों नहीं प्राप्त करते हैं। यदि आप केवल एक दिन में रखना चाहते हैं, तो आपको एक अच्छा उत्पाद नहीं मिल रहा है।
एक लाइसेंस कुंजी जब तक कुंजी सर्वर नाम का एक हैश से जुड़ा हुआ है आप सॉफ्टवेयर में कई बार स्थापित करने से ग्राहक बंद नहीं होगा आदि
यहां एक डीआरएम तर्क में शामिल न होने के लिए, मैं आपको कारणों के संकलन के लिए इंगित करता हूं कि डीआरएम गलत क्यों है: http://superuser.com/questions/14224/how-to-explain-drm-cannot-work/14764# 14764 यह कहना नहीं है कि आपको अपने कार्यक्रम की रक्षा नहीं करनी चाहिए, केवल उतना ही अधिक ड्रम - वैध उपयोगकर्ताओं के लिए अधिक दर्द। एक लाइसेंस कुंजी आमतौर पर आपके सॉफ़्टवेयर को स्पष्ट रूप से पायरेटेड होने से रोकने के लिए पर्याप्त होती है। – RCIX
तुम सिर्फ छद्म कोड की जरूरत है (क्या लैंग/मंच?) आप कंप्यूटर मैक पता (जो अद्वितीय होने का अनुमान लगाते हैं) ले सकते हैं और एक ऐसा फ़ंक्शन बना सकते हैं जो इसे कुछ अन्य कंप्यूटर पैरामीटर जोड़ता है - और यह सुनिश्चित कर लें कि जब भी ऐप्स आपके स्वयं के डीबी के विरुद्ध चलते हैं, तो उस पंक्ति में उपयोगकर्ता का ईमेल रखते हुए ।
अगर कुछ बदल जाता है - सॉफ्टवेयर काम नहीं करेगा, लेकिन उपयोगकर्ता एक नई कुंजी अनुरोध कर सकते हैं - एक ही मेल के साथ - तो आप पुराने कुंजी को रद्द करने और उसे एक नया दे सकते हैं।
क्या होता है यदि उपयोगकर्ता अपने मोबाइल या अन्य प्रासंगिक परम को बदलता है - वास्तव में एक अच्छा विचार नहीं है, मैं अपने कंप्यूटर को अपग्रेड करते समय एक नई लाइसेंस कुंजी प्राप्त नहीं करना चाहता हूं। और क्या होता है यदि कोई और आपके ईमेल के साथ लाइसेंस कुंजी का अनुरोध करता है? हम्म? – RCIX
ए। मैं वास्तव में लाइसेंस कुंजी में बेकार नहीं हूं, लेकिन यह आप उनका उपयोग करने के लिए पर्याप्त देखभाल करते हैं, फिर, हाँ, जब उपयोगकर्ता अपने हार्डवेयर को अपग्रेड करता है - यह एक समस्या है (माइक्रोसॉफ्ट को विस्टा लाइसेंसिंग के साथ यह समस्या थी - आपको इसकी आवश्यकता होगी अगर आप एमबी या कभी-कभी वीडियो बोर्ड भी बदलते हैं तो विस्टा को पुनः सक्रिय करें), अगर आप केवल अनुरोध किए गए ईमेल को लाइसेंस भेजते हैं - और जब कोई नया अनुरोध आता है तो पुराना लाइसेंस रद्द कर देता है, तो ईमेल स्वामी - लाइसेंस के मूल मालिक के पास कोई नहीं होगा समस्या का। लेकिन आप सही हैं कि इस सड़क को लेने पर विचार करने के लिए बहुत कुछ है। टिप्पणी के लिए – Dani
सुधार। मूल मालिक को लाइसेंस अनुरोध फिर से जारी करना होगा। – Dani
एक सादा पाठ फ़ाइल में उत्पाद की क्षमताओं (उपयोगकर्ताओं की संख्या, होस्ट IP, समाप्ति की तारीख, जो कुछ भी) रखो। सार्वजनिक कुंजी के साथ फ़ाइल पर हस्ताक्षर करें, फिर रनटाइम पर हस्ताक्षर की जांच करें।
वे वे कोड डिकंपाइल कर सकते हैं प्रेरित कर रहे हैं, चेक या जो कुछ भी बाहर झटका है, लेकिन यह छेड़छाड़ रोकते कर देंगे, और यह सब अच्छा और अधिकारी ध्यान देंगे।
होस्ट आईपी एक अच्छा पैरामीटर प्रतीत नहीं होता है, लैपटॉप दिन में दो बार इसे कम से कम बदलते हैं। – ZJR
सरल लाइसेंस जनरेटर: एक बीज वाली चेकसम के साथ एक आईएनआई फ़ाइल, जिसमें ग्राहक नाम और जानकारी है कि कौन से मॉड्यूल सक्षम हैं। हैकर के लिए तोड़ना काफी आसान होगा, लेकिन गैर-हैकर के लिए, यह सुरक्षित है। नाम सार्वजनिक रूप से दिखाए गए ऐप से आउटपुट में दिखाई देना चाहिए, ताकि अन्य संभावित ग्राहक लाइसेंस फ़ाइल का उपयोग न कर सकें।
कोई दिन नहीं है कि आप एक दिन में अच्छी नौकरी कर सकते हैं और संभावना है कि समग्र प्रभाव नकारात्मक होगा। यह आपके वफादार और ईमानदार ग्राहकों को परेशान करेगा और यह बेईमानी को नहीं रोक देगा।
इसके बजाए, उस दिन किसी भी तरह से मापने के तरीके में आने के लिए अपने उत्पाद को कितना समुद्री डाकू मिल रहा है। एक बार जब आप इसे जानते हैं, तो आप अनुमान लगा सकते हैं कि आप कितना पैसा खो रहे हैं और आपको वास्तव में कितना प्रयास सुरक्षा या अन्य दृष्टिकोण में रखना चाहिए।
यदि आप अभी भी ऐसा करना चाहते हैं, तो इंस्टॉलेशन के लिए अद्वितीय कुछ डेटा एकत्र करना सबसे आसान तरीका है (ओएस उपयोगकर्ता नाम, ईमेल पता, सीपीयू/मदरबोर्ड सीरियल नंबर - जो भी आप इसे टाई करना चाहते हैं), पूछें उपयोगकर्ता इसे आपको भेजने और अपनी निजी कुंजी के साथ एन्क्रिप्ट करके लाइसेंस कुंजी उत्पन्न करता है। आपके सॉफ़्टवेयर को डेटा के समान टुकड़े एकत्र करना चाहिए, अपनी सार्वजनिक कुंजी के साथ लाइसेंस डिक्रिप्ट करना चाहिए और दो ब्लॉब्स की तुलना करना चाहिए।
- 1. मैं जावा एप्लिकेशन कैसे लिख सकता हूं जो रनटाइम पर खुद को अपडेट कर सकता है?
- 2. क्या मैं पर्ल में एंड्रॉइड एप्लिकेशन विकसित कर सकता हूं?
- 3. मैं वर्तमान दिनांक में 1 दिन कैसे जोड़ सकता हूं?
- 4. 1 दिन तक जावास्क्रिप्ट में दिनांक कम करने का सबसे आसान तरीका क्या है?
- 5. मैं विंडोज ड्राइवर कैसे विकसित कर सकता हूं जो हार्डवेयर को स्पर्श नहीं करता है?
- 6. इंफ्राजिस्टिक्स लाइसेंस फ़ाइल खुद को प्रोजेक्ट में जोड़ती है?
- 7. node.js ऐप जो खुद को पुनरारंभ कर सकता है
- 8. मैं सबसे आसान तरीका लुआ में जोखिम भरा कार्यों को कैसे अक्षम कर सकता हूं?
- 9. सबसे सरल पार्सिंग एल्गोरिदम क्या है जो सी कोड को पार्स कर सकता है?
- 10. मैं एक सीएसएस आधारित लेआउट कैसे विकसित कर सकता हूं जो 100% ब्राउज़र संगत है?
- 11. मैं कैसे सुनिश्चित कर सकता हूं कि एक दिन रेल में एक सप्ताह का दिन है?
- 12. मैं सप्ताहों में दिन कैसे समूहित कर सकता हूं?
- 13. RSA कुंजी एक लाइसेंस कुंजी को सुरक्षित
- 14. क्या मैं गिटहब प्रोजेक्ट में कोड का उपयोग कर सकता हूं जिसमें लाइसेंस निर्दिष्ट नहीं है?
- 15. मैं मोंगोडीबी ग्रिडएफएस डेटाबेस को सबसे आसान तरीका कैसे बैकअप कर सकता हूं?
- 16. मैं 'System.Windows.Input.Key' को 'System.Windows.Forms.Keys' में कैसे परिवर्तित कर सकता हूं?
- 17. सी # में लाइसेंस विकसित करना - मैं कहां से शुरू करूं?
- 18. मैं एक यूएसबी "आसान बटन" को पुन: प्रोग्राम कैसे कर सकता हूं?
- 19. मैं डीबग कैसे कर सकता हूं कि सबसे आसान MySQL क्वेरी झूठी क्यों लौटती है?
- 20. NSDateFormatter - 1 दिन गलत है?
- 21. मैं कोको से 'ब्रेक' कैसे कर सकता हूं और सी/सी ++ में मैक ओपनजीएल अनुप्रयोगों को विकसित कर सकता हूं?
- 22. PHP एपीआई कुंजी जेनरेटर
- 23. पोस्टग्रेस्क्ल में: मैं एक साधारण काउंटर कैसे बना सकता हूं जिसे मैं रीसेट कर सकता हूं?
- 24. क्या मैं वास्तव में एएसपी.नेट एमवीसी पर मुफ्त में विकसित कर सकता हूं?
- 25. क्या सबसे आसान मेकफ़ाइल मैं एक सी फाइल के लिए काम कर सकता है?
- 26. मैं खुद को एक पावर फ़ंक्शन कैसे लिख सकता हूं?
- 27. मैं रुबी में खुद को एक अपरिभाषित चर निर्दिष्ट क्यों कर सकता हूं और शून्य प्राप्त कर सकता हूं?
- 28. क्या मैं एक वाणिज्यिक ऐप में मोज़िला पब्लिक लाइसेंस 1.1 (एमपीएल) का उपयोग कर सकता हूं?
- 29. क्या मैं service.onStartCommand में stopSelf() को कॉल कर सकता हूं?
- 30. क्या मैं जावा के अलावा किसी अन्य चीज़ में एंड्रॉइड के लिए विकसित कर सकता हूं?
ठीक है, मैं हमेशा उत्सुक था कि समर्थक ऐसा कैसे करता है ताकि यह सीखने का एक अच्छा मौका हो। –
यदि प्रो अपने आप को इस तरह के समाधान लिखने का फैसला करता है तो वह 1 दिन से अधिक समय व्यतीत करेगा। – okutane