2012-05-24 13 views
6

मैंने हाल ही में एक ऑनलाइन मल्टीप्लेयर गेम विकसित किया है और यह ठीक काम कर रहा है। क्लाइंट के साथ टीसीपी कनेक्शन को संभालने वाला एक केंद्रीय सर्वर है, और वे दोनों डेटा प्राप्त करते हैं और भेजते हैं।
क्या यह सत्यापित करने का कोई तरीका है कि रिसीवर इसे पढ़ने से पहले भेजा गया डेटा संशोधित नहीं किया गया है?
क्या कोई टीसीपी कनेक्शन इसे किसी तरह से संभालता है? यदि नहीं, तो इसे लागू करने का सबसे अच्छा तरीका (कोड मांगना नहीं) क्या है?
अब तक मैं उन विचारों के साथ आया था:क्लाइंट-सर्वर कनेक्शन के बीच डेटा अखंडता को कैसे सत्यापित करें?

  • को सत्यापित-मूल्य के कुछ प्रकार जोड़ने भेजे गए डेटा, इस तरह के पैकेट लंबाई को संशोधित करें।
  • जब कोई पैकेट प्राप्त होता है, तो सर्वर से इसे फिर से भेजने और सत्यापित करने के लिए कहें कि वे बराबर हैं या नहीं।

मैंने एक सामान्य उपयोग किए गए समाधान की खोज की लेकिन मुझे अधिक नहीं मिला।
एन्क्रिप्शन मेरा आखिरी विकल्प होना चाहिए।

संपादित
इस लक्ष्य को हासिल करने के लिए एक आसान तरीका के लिए:

  1. MD5
  2. एसएच A1
  3. एसएसएल
+5

एक हैकर द्वारा संशोधित या शोर/त्रुटि से संशोधित? टीसीपी/आईपी उत्तरार्द्ध का ख्याल रखता है, पूर्व में नहीं। –

+0

क्या आप संक्षेप में समझाएंगे कि यह कैसे खुश होता है? – mastaH

+2

डेटा को हश करें, और उस डेटा को हैश मान जोड़ें जो आप भेजते हैं। दूसरे छोर पर व्यक्ति को यह जांचना चाहिए कि हैश एक प्राप्त डेटा से मेल खाता है या नहीं। यह शोर त्रुटियों का ख्याल रखना चाहिए। – eboix

उत्तर

5

बार्ट से सहमत, आप डेटा सत्यापन के लिए हैश विधि का उपयोग करना चाह सकते हैं।