मैं यह पता लगाने की कोशिश कर रहा हूं कि क्यों मेरे पायथन क्लाइंट और रूबी सर्वर को डेटा एन्क्रिप्ट करने के बारे में असहमति है। रूबी कोड और मेरे कोड में केवल एक ही अंतर यह है कि वे प्रारंभिक वेक्टर निर्दिष्ट नहीं कर रहे हैं, इसलिए यह सभी \ x0 केक्यों PyCrypto डिफ़ॉल्ट चतुर्थ का उपयोग नहीं करता है?
के डिफ़ॉल्ट पर वापस आ रहा है जब मैं iv के बिना PyCrypto को तुरंत चालू करने का प्रयास करता हूं तो यह मुझे एक देता है त्रुटि। यहाँ एक उदाहरण है:
from Crypto.Cipher import AES
test = "Very, very confidential data"
key = b'Thirty Two Byte key, made Beef y'
gryp = AES.new(key, AES.MODE_CBC)
डॉक्स w का कहना है (इस उदाहरण अनिवार्य रूप से चतुर्थ निर्दिष्ट किए बिना PyCrypto डॉक्स से उदाहरण कोड है)/आर/चतुर्थ "यह वैकल्पिक है और जब यह मौजूद नहीं होगा टी सभी शून्यों का डिफ़ॉल्ट मान दिया गया। " हालांकि मुझे त्रुटि मिलती है "ValueError: IV 16 बाइट लंबा होना चाहिए"।
तो मैं IV को निर्दिष्ट कर सकता हूं, यह समस्या पूर्व नहीं है, लेकिन मैं यह समझने की कोशिश कर रहा हूं कि अगर यह सोचता है कि यह डिफ़ॉल्ट का उपयोग नहीं कर सकता है, तो पुस्तकालय का उपयोग करने के तरीके में कुछ और गलत है ।
मैं मदद नहीं कर सकता लेकिन महसूस करता हूं कि एक कुंजी छंटनी एक बुरा विचार है। – cpburnz