2010-01-12 16 views
6

मेरे पास कुछ कोड है जो एक वेब सर्वर से एक प्लिस्ट डाउनलोड करता है और उसे फोन की दस्तावेज़ निर्देशिका में संग्रहीत करता है। मेरी चिंता यह है कि अगर फ़ाइल दूषित हो जाती है तो यह ऐप की स्थिरता और उपयोगकर्ता अनुभव को प्रभावित करेगी।फ़ाइल की अखंडता सुनिश्चित करने के लिए एक अच्छी रणनीति

मैं ऐप के कुछ हिस्सों को पढ़ने वाले डेटा में रक्षात्मक रूप से कोडिंग कर रहा हूं, लेकिन सोच रहा था कि पुराने व्यक्ति को लिखे जाने से पहले फ़ाइल की अखंडता की जांच करने के लिए वहां क्या सलाह है। मैं कुछ प्रकार के गणना मूल्य को लागू करने के बारे में सोच रहा हूं जिसे उदाहरण के लिए प्लेस्ट में एक कुंजी के रूप में भी संग्रहीत किया जाता है।

इसे यथासंभव मजबूत बनाने के बारे में कोई भी विचार बहुत सराहना की जाएगी।

सादर

डेव

+1

एमडी 5 –

उत्तर

5

CommonCrypto/CommonDigest.h पर एक नज़र डालें।

CC_MD5(const void *data, CC_LONG len, unsigned char *md); फ़ंक्शन एक MD5 हैश की गणना करता है।

@implementation NSData (MD5) 

-(NSString*)md5 
{ 
    unsigned char digest[CC_MD5_DIGEST_LENGTH]; 
    CC_MD5([self bytes], [self length], digest); 

    NSString* s = [NSString stringWithFormat: @"%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x", 
        digest[0], digest[1], 
        digest[2], digest[3], 
        digest[4], digest[5], 
        digest[6], digest[7], 
        digest[8], digest[9], 
        digest[10], digest[11], 
        digest[12], digest[13], 
        digest[14], digest[15]]; 
    return s; 

} 

@end 

सर्वर पर फ़ाइलों की तैनाती के रूप में, आप hashs गणना करने के लिए OpenSSL उपयोग कर सकते हैं। openssl md5 filename आदेश फ़ाइल के लिए MD5 हैश की गणना करता है। इसे एक स्क्रिप्ट में एकीकृत किया जा सकता है।

फिर आपके एप्लिकेशन ने एक फ़ाइल डाउनलोड करने के बाद, यह डाउनलोड किया गया हैश की हैश की गणना करता है और इसे सर्वर पर संग्रहीत हैश से तुलना करता है।

जाहिर है, यदि आप एक प्लेलिस्ट फ़ाइल की अखंडता सुनिश्चित करना चाहते हैं, तो इस प्लेस्ट में अपना स्वयं का हैश नहीं हो सकता है।

+0

धन्यवाद ग्रेगरी है, यह वास्तव में सहायक है। मान लीजिए कि आपको यह पता नहीं है कि यह आपके आवेदन के भीतर क्रिप्टोग्राफी का उपयोग करता है? मैं ऐप स्टोर में ऐप सबमिट करते समय पूछे जाने वाले प्रश्न का जिक्र कर रहा हूं। चीयर्स डेव –

+0

चिंता न करें, एमडी 5 हैश की गणना के लिए आपका आवेदन अस्वीकार नहीं किया जाएगा। इस सुझाव के लिए –

+0

+1। – Sudhanshu

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

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