2012-08-09 17 views
6

मैं एक सेवा चला रहा हूं जो एप्लिकेशन के दो किनारों पर SHA-256 का उपयोग कर रहा है - एक सर्वर-साइड PHP कार्यान्वयन है और दूसरा क्लाइंट-साइड आईओएस कार्यान्वयन है। दोनों पक्षों पर एल्गोरिदम का उपयोग करने का नतीजा एक ही अल्फान्यूमेरिक स्ट्रिंग है, इस तथ्य को छोड़कर कि सभी अक्षरों को आईओएस पर पूंजीकृत किया गया है और PHP पर कम मामला है। तथ्य यह है कि वे समान अल्फान्यूमेरिक स्ट्रिंग्स हैं, मुझे विश्वास है कि एसएचए -256 केस असंवेदनशील है, लेकिन मुझे मेरी धारणा का समर्थन करने वाले कोई दस्तावेज नहीं मिल रहा है। क्या कोई मुझे इसकी पुष्टि करने के लिए कुछ दस्तावेज दिखा सकता है?एसएचए -256 केस असंवेदनशील है?

+1

संभावित डुप्लिकेट [SHA256 का आउटपुट प्रारूप क्या है] (http://stackoverflow.com/questions/6532606/what-is-the-output-format-of-sha256) –

उत्तर

14

यदि आप हेक्साडेसिमल स्ट्रिंग आउटपुट का जिक्र कर रहे हैं, तो हाँ, यह मामला असंवेदनशील है। यह बाइनरी डेटा का एक पाठपरक प्रतिनिधित्व है।

http://en.wikipedia.org/wiki/Hexadecimal

एल्गोरिथ्म ही सबसे निश्चित रूप से केस-संवेदी है।

0

सभी SHA श्रृंखला बाइनरी एल्गोरिदम हैं जिन्हें वे मामले के बारे में कुछ भी नहीं जानते हैं, इसलिए वे केस असंवेदनशील नहीं हो सकते हैं।
आप इसे अलग-अलग मामलों के साथ एक स्ट्रिंग से 2 आउटपुट के साथ एकल मशीन पर आसानी से जांच सकते हैं और आप देख सकते हैं कि वे अलग-अलग परिणाम प्रदान करते हैं।
आपके मामले में मैं अगर हर चीज ठीक है, संभवतः आईओएस फोन में पूंजीकृत स्ट्रिंग दिखाने लगता है, लेकिन आंतरिक रूप से आप, सामान्य (छोटे अक्षर) स्ट्रिंग

2

नहीं सभ्य क्रिप्टोग्राफिक हैश समारोह मामले असंवेदनशील है पारित क्योंकि तब यह होगा टक्कर पैदा करने के लिए कहीं ज्यादा आसान हो। उत्पादन एक अलग मामला है। यह मूल रूप से एक बड़ी संख्या है (इसलिए लागू नहीं करता है), लेकिन सुविधा के लिए इसे आधार 16 में दिया गया है, यानी अतिरिक्त अंकों के रूप में अक्षरों के माध्यम से अक्षरों का उपयोग करना। हेक्साडेसिमल नोटेशन वास्तव में असंवेदनशील है, या कम से कम दोनों ऊपरी- और लोअरकेस वेरिएंट आम हैं और मान्यता प्राप्त हैं। इससे कोई फर्क नहीं पड़ता और बदलता नहीं है कि किस संख्या का प्रतिनिधित्व किया जाता है।

2

यदि दोनों पक्षों पर इनपुट का बाइनरी प्रतिनिधित्व समान है तो हैश मान का द्विआधारी प्रतिनिधित्व समान होगा। हेक्स मामला असंवेदनशील है।

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