मुझे प्रोग्राम डेटा को सहेजने का एक कच्चा तरीका पता है, इसे टेक्स्ट फ़ाइल में रखते हुए। समस्या यह है कि किसी को भी टेक्स्ट फ़ाइल तक पहुंच है और इसे कुशल बना सकते हैं। उदाहरण के लिए, मैं गेम डेटा को सहेजना और लोड करना चाहता हूं जो गेम की प्रगति के रूप में बदलता है। इस तरह के डेटा को स्टोर करने और इसे केवल गेम प्रोग्राम के भीतर सुलभ रखने के लिए कौन सी विधियां हैं, इसलिए यह दूसरों द्वारा छेड़छाड़ नहीं की जाती है?डेटा सहेजना और लोड करना सी ++
उत्तर
आपको अपने डेटा को बाइनरी फ़ाइलों में संग्रहीत करना चाहिए। लेकिन लोग अभी भी इसे बदल सकते हैं (जैसे कि मैं अक्सर डायब्लो 2: डी में अपने चरित्र के कौशल बिंदु या स्टेट पॉइंट को बदलता हूं) इसलिए आपको हैश योग की गणना करने और इसे अपने डेटा में संग्रहीत करने के लिए एल्गोरिदम खोजने पर विचार करना चाहिए।
आप डेटा को बाइनरी फ़ाइल में सहेज सकते हैं। सी ++ ऑब्जेक्ट से और बिट्स को बस लिखें और पढ़ें।
मुझे यकीन है कि लोग ओप फ़ाइल से बचाने की कोशिश कर रहा है यह पता लगा सकता है कि बाइनरी फ़ाइल को कैसे परिवर्तित किया जाए; नहीं? – ChiefTwoPencils
अच्छी तरह से मुझे नहीं पता कि डेटा कैसे लिखा जाएगा। यदि वह डेटा लिखना चाहता है वह एक संरचना है जिसमें 2 इन्स और एक 10 वर्ण स्ट्रिंग है, तो मुझे लगता है कि फ़ाइल केवल आकार (int) + sizeof (int) + 10 * sizeof (char) बाइट्स होगी। और इसका एकमात्र तरीका यह समझ जाएगा कि अगर उसकी ऑब्जेक्ट – bathtub
द्वारा डाली गई थी तो मैं जो कह रहा हूं वह उस उत्तर में @DzungAh ने कहा था। बाइनरी फ़ाइल में डेटा सहेजना अपने आप में एक अच्छा समाधान नहीं है। यह अभी भी संपादन योग्य होगा ... – ChiefTwoPencils
विचार आपके डेटा को इस तरह से प्रारूपित करना है ताकि यह मनुष्यों द्वारा पठनीय न हो। यह कई तरीकों से उपयोग करके किया जा सकता है।
- डेटा को बाइनरी के रूप में सहेजें। यह फ़ाइल को मनुष्यों द्वारा पढ़ना मुश्किल बनाता है, इसलिए एक हेक्स संपादक या इसी तरह के प्रोग्राम का उपयोग करने की आवश्यकता है। यह भी देखना मुश्किल बनाता है कि एक मूल्य कहां समाप्त होता है, और दूसरा शुरू होता है (टेक्स्ट फ़ाइल में यह सफेद स्थान द्वारा दिखाया जाता है)। इसका दूसरा फायदा यह है कि आपकी फाइलें बहुत छोटी होंगी।
- डेटा एन्क्रिप्शन। डेटा को विभिन्न विधियों का उपयोग करके एन्क्रिप्ट किया जा सकता है। यह एक काफी सुरक्षित विकल्प है, हालांकि एन्क्रिप्शन धीमा हो सकता है, इसलिए बहुत बड़ी मात्रा में डेटा के लिए, यह इष्टतम नहीं हो सकता है कि डेटा को कितनी तेजी से सहेजा/लोड किया जाना चाहिए। कहीं भी एन्क्रिप्शन/डिक्रिप्शन कुंजी को संग्रहीत करने का मुद्दा भी है (संभवतः फ़ाइल में ही, या प्रोग्राम में निरंतर एक के रूप में)।
- Obfuscation। यह एक व्यापक शब्द है जो चीजों को पढ़ने में मुश्किल बनाने के लिए संदर्भित करता है। उदाहरण के लिए, दोनों तारों को पढ़ने योग्य बनाने के प्रयास में दो तारों को अंतःस्थापित किया जा सकता है। Obfuscation अक्सर जंक डेटा आवंटित करना शामिल है, जानकारी जो प्रोग्राम द्वारा उपयोग नहीं किया जाता है, और केवल हैकर्स करने में मदद करता है हैकर्स होगा।
- वैधता जांच। इस मामले में कि कोई फ़ाइल को संशोधित करता है, और वे नहीं जानते कि वे क्या कर रहे हैं, यह अत्यधिक संभावना है कि कार्यक्रम पर उनके कुछ प्रभावशाली प्रभाव होंगे। इस तरह, वे फ़ाइल को आसानी से देख सकते हैं कि आपका प्रोग्राम कैसा प्रतिक्रिया करता है। इसका विरोध करने का एक तरीका यह जांचना है कि क्या सभी डेटा तार्किक सीमा के भीतर है या नहीं। फ़ाइल को फ़ाइल में कई बार भी संग्रहीत किया जा सकता है, अलग-अलग तरीकों से obfuscated या एन्क्रिप्टेड। यदि डेटा अलग है, तो आप जानते हैं कि फ़ाइल को छेड़छाड़ की गई है।
- 1. कोरडाटा स्विफ्ट: डेटा को कैसे सहेजना और लोड करना है?
- 2. प्रोटोकॉल बफर; डेटा को डिस्क में सहेजना और वापस समस्या को लोड करना
- 3. संतोषजनक डेटा को कैसे सहेजना और पुनर्प्राप्त करना
- 4. सी # में अनुप्रयोग डेटा में फ़ाइल सहेजना
- 5. D3.js - बाहरी डेटा लोड करना और छेड़छाड़ करना
- 6. वेब ऐप से वर्ड डॉक्यूमेंट्स लोड करना/सहेजना (एएसपीएनटी एमवीसी)
- 7. सी # किसी ऑब्जेक्ट में प्रारंभिक डेटा कहां लोड करना है?
- 8. CGContext को सहेजना और पुनर्स्थापित करना
- 9. मूल डेटा को छवि सहेजना
- 10. सी # बड़ी छवियों को सहेजना
- 11. किसी फ़ाइल में ट्रीव्यूव की सामग्री सहेजना और इसे बाद में लोड करना
- 12. 'लोड डेटा'
- 13. एंड्रॉइड, अलग-अलग गतिविधियों से कैश में बिटमैप सहेजना और लोड करना
- 14. ड्राइंग लाइनों को कैसे सहेजना और लोड करना है आईफोन एसडीके
- 15. numpy.savetxt का उपयोग कर जटिल संख्याओं की सरणी को कैसे सहेजना और लोड करना है?
- 16. सी #: भागों में जेपीजी को सहेजना
- 17. एक प्रशिक्षित केरा मॉडल लोड करना और
- 18. एलिस्प: फ़ाइल में डेटा कैसे सहेजना है?
- 19. लोड डेटा
- 20. कोणीयजेएस - मार्गों के बीच डेटा सहेजना
- 21. एक फॉर्म को कैसे सहेजना और पुनर्स्थापित करना है?
- 22. दृश्य स्थिति एंड्रॉइड को सहेजना और बहाल करना
- 23. एंड्रॉइड ऐप में डेटा को कैसे सहेजना है
- 24. पायथन-लोड डेटा और बहु गॉसियन फिट
- 25. UICollectionView - छवियों को डाउनलोड करना और डेटा का प्रभावी पुनः लोड करना, जैसे Instagram
- 26. प्रोटो बफर की सीमाएं - आंशिक डेटा लोड करना और तारों को साझा करना
- 27. लोड डेटा INFILE
- 28. एक सी ++ कन्स्ट्रक्टर के संदर्भ पास करना और संदर्भ या गैर-संदर्भ प्रकारों को सहेजना
- 29. सी ++ ऑब्जेक्ट को xml फ़ाइल में कैसे सहेजना है और वापस बहाल करना है?
- 30. लोड डेटा infile
दरार सुरक्षा में के रूप में? –
एक गेम में एक स्तर संपादक की तरह। नया स्तर डेटा सहेजा गया है और केवल गेम प्रोग्राम द्वारा ही इसका उपयोग किया जा सकता है। – starhacker