पर यह लापता है यह मेरा पहला सवाल है इसलिए कृपया मुझे बताएं कि क्या मैं कुछ गलत करता हूं :)।8 बाइट EVP_DecryptFinal
मेरे समस्या मैं
EVP_DecryptInit(&ctx1, EVP_des_ecb(), tmpkey, NULL);
EVP_DecryptUpdate(&ctx1, keysigout, &outlu ,keysigin, keysigfilelength);
EVP_DecryptFinal(&ctx1, keysigout, &outlf);
printf("DECLEN:%i",outlu + outlf);
का उपयोग एक बाइनरी फ़ाइल को डिक्रिप्ट करने के लिए है। फ़ाइल 248 बाइट लंबी है लेकिन प्रिंटफ केवल मुझे ईवीपी 240 बाइट डिक्रिप्ट करता है। keysigfilelength 248 है और अद्यतन को यह बताना चाहिए कि 248 बाइट्स को डिक्रिप्ट करने की आवश्यकता है।
मुझे नहीं पता कि यह क्यों काम नहीं करता है और अगर आप मुझे प्रबुद्ध कर सकते हैं तो खुश होंगे।
संपादित करें: मैं सिर्फ आदेश
openssl enc -e -des-ecb -in test.txt -out test.bin -K 00a82b209cbeaf00
साथ मैन्युअल रूप से एक फ़ाइल एन्क्रिप्ट और यह 8 बाइट्स की वृद्धि हुई: हे। मुझे अभी भी पता नहीं है कि वे कहां से आए हैं, लेकिन मुझे नहीं लगता कि मेरे कार्यक्रम में मेरी सामान्य त्रुटि इस वजह से है।
इस पूरे समस्या का संदर्भ मेरे विश्वविद्यालय में एक सूचना सुरक्षा पाठ्यक्रम है। हमें अलग-अलग एल्गोरिदम के साथ समान कार्य मिलते हैं, लेकिन यहां तक कि जिसने अपना प्रोग्राम किया है, वह सफलतापूर्वक पता नहीं लगा सकता कि मेरे कार्यक्रम में समस्या कहां है।
क्या आपके लिए अपना पूरा कार्यक्रम पोस्ट करना ठीक है?
बस यह सुनिश्चित करने के लिए, यह विंडोज़ पर कुछ नहीं है और फ़ाइल को टेक्स्ट मोड में खोलने की तरह कुछ नहीं है ताकि \ r को हटा दिया जा सके? –
http://pastebin.com/H3riQhm7 यहां फ़ाइल का हेक्सडम्प-सी है। सभी काम लिनक्स – outsmartin
में किया जाता है मैंने सोचा कि यह ऐसा नहीं होगा, लेकिन यह सुनिश्चित करने के लिए बेहतर होगा। –