मैं यहां कुछ दिनों के लिए यहां समान प्रश्न पोस्ट कर रहा हूं, लेकिन ऐसा लगता है कि मैं सही चीज़ नहीं पूछ रहा था, इसलिए मुझे क्षमा करें यदि मैंने आपके एक्सओआर प्रश्नों से आपको थका दिया है: डी।एक्सओआर दो हेक्स तारों को कैसे करें ताकि प्रत्येक बाइट अलग से एक्सओआरड किया जा सके?
बिंदु पर - मेरे पास दो हेक्स स्ट्रिंग हैं और मैं इन स्ट्रिंग्स को एक्सओआर करना चाहता हूं जैसे कि प्रत्येक बाइट अलग से एक्सओआरड होता है (यानी संख्याओं की प्रत्येक जोड़ी अलग से एक्सओआरड होती है)। और मैं इसे अजगर में करना चाहता हूं, और मैं अलग-अलग लंबाई के तारों को प्राप्त करने में सक्षम होना चाहता हूं। मैं मैन्युअल रूप से मेरी बात को वर्णन करने के लिए एक उदाहरण क्या करेंगे (क्योंकि यह मुझे रिक्त स्थान में डाल देता है जहां मैं उन्हें होना चाहता हूँ मैं कोड वातावरण में इस्तेमाल किया):
Input:
s1 = "48656c6c6f"
s2 = "61736b"
Encoding in binary:
48 65 6c 6c 6f = 01001000 01100101 01101100 01101100 01101111
61 73 6b = 01100001 01110011 01101011
XORing the strings:
01001000 01100101 01101100 01101100 01101111
01100001 01110011 01101011
00001101 00011111 00000100
Converting the result to hex:
00001101 00011111 00000100 = 0d 1f 04
Output:
0d1f04
तो, संक्षेप में प्रस्तुत करने, मैं करने के लिए सक्षम होना चाहते हैं इनपुट दो हेक्स स्ट्रिंग्स (ये आमतौर पर एएससीआईआई अक्षरों को हेक्स में एन्कोड किया जाएगा) अलग-अलग या बराबर लंबाई के होते हैं, और उनके एक्सओआर को प्राप्त करते हैं जैसे प्रत्येक बाइट अलग से एक्सओआरड होता है।
क्यों 's2' कुंजी चक्र नहीं है और इसे' s1' के * सभी * अक्षरों पर लागू क्यों करें? इसे केवल अंतिम 3 पर क्यों लागू करें? –