डिक्रिप्ट पर खराब मैजिक नंबर


12

अप्रैल में मैंने कमांड का उपयोग करके एक फ़ाइल एन्क्रिप्ट की

openssl enc -aes-256-cbc -salt -pass file:<passwordfile> < infile > outfil

अब मैं इसके साथ डिक्रिप्ट करना चाहता हूं

openssl enc -d -aes-256-cbc -salt -pass file:<passwordfile> -in outfil -out infile2

लेकिन मुझे खराब मैजिक नंबर मिले।

कल ही पैरामीटर के साथ एन्क्रिप्ट की गई फ़ाइल ठीक हो जाती है।

क्या हो सकता था? और वैसे भी मैं इस संग्रहीत फ़ाइल को पुनः प्राप्त कर सकता हूं?

जवाबों:


6

यदि आपने OpenSSL <= 1.0.2 के साथ एन्क्रिप्ट किया है और आप OpenSSL 1.1.0 के साथ डिक्रिप्ट कर रहे हैं, तो संभवतः यह है:

https://www.openssl.org/docs/faq.html#USER3

डिफ़ॉल्ट हैश ने 1.0.2 और 1.1.0 के बीच परिवर्तित पासवर्ड से कुंजी उत्पन्न करने के लिए उपयोग किया है। -md md5अपने डिक्रिप्शन कमांड पर जोड़ने का प्रयास करें ।


1
धन्यवाद मुझे डर था कि यह कुछ इस तरह हो सकता है हम इस पुराने को कुछ बहाल करने की चाह में एक असामान्य सैट्यूशन में हैं। मैं इसे एक कोशिश
दूँगा

1
डिफॉल्टेड पबे-हैश (या गलत हैश या सिर्फ गलत पासवर्ड निर्दिष्ट करने) में एक मिसमैच, कचरा डिक्रिप्ट का कारण बनेगा, जो CBC- मोड सिफर के लिए (जैसा कि यहां) लगभग हमेशा 06065064 'खराब डिक्रिप्ट' के रूप में पता लगाया जाएगा - लेकिन 'नहीं' बुरा जादू नंबर '। केवल एक क्षतिग्रस्त फ़ाइल, या एक के साथ एन्क्रिप्टेड -nosaltया वास्तव में प्राचीन ओपनएसएसएल (0.9.6 से पहले सबसे अधिक) ऐसा करता है।
dave_thompson_085

1

नीचे दिए गए आदेश ने मुझे दर्द दिया:

openssl aes-256-cbc -d -in hotmama.tar.bz2.enc -out hotmama.tar.bz2
enter aes-256-cbc decryption password:
bad magic number

और नीचे के कमांड ने इसे हल किया, और मुझे खुशी दी:

openssl aes-256-cbc -md md5 -in hotmama.tar.bz2.enc -out hotmama.tar.bz2
enter aes-256-cbc encryption password:
Verifying - enter aes-256-cbc encryption password:

7
दूसरे आदेश में, आप डिक्रिप्ट नहीं कर रहे हैं ( -d) ...
खतरे का निशान 8''18

1

इस त्रुटि का सामान्य कारण यह है कि पासवर्ड से ओपनएसएसएल द्वारा गणना की गई कुंजी गलत है, जिसका अर्थ डेटा को एन्क्रिप्ट करने वाली कुंजी के समान नहीं है।

मूल त्रुटि की तुलना में एक अलग स्थिति में, जब यह त्रुटि दिखाई दे सकती है, तो एक कारण यह है कि यदि आप ओपनएसएसएल की तुलना में किसी अन्य टूल का उपयोग करके एन्क्रिप्ट कर रहे हैं, उदाहरण के लिए जावा में एन्क्रिप्ट करना, और एसएसएल का उपयोग करके डिक्रिप्ट करना।

जावा के लिए यहां देखें समाधान: /programming/22610761/aes-simple-encrypt-in-java-decrypt-with-openssl/55884564#5588864

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.