2008-10-12 9 views
5

मैंने देखा कि विकिपीडिया विभिन्न हैश फ़ंक्शंस के Javascript implementation से लिंक करता है। Clipperz Crypto भी मिला। यहां तक ​​कि मोज़िला फ़ायरफ़ॉक्स में crypto object लागू करता है।क्या जावास्क्रिप्ट क्रिप्टोग्राफी के लिए एक उचित मंच है? या, यह हो सकता है?

तो, क्या जावास्क्रिप्ट क्रिप्टोग्राफी के लिए एक उचित मंच है? या, यह हो सकता है?
या, मुझे लगता है .. क्या पोस्ट से पहले हैशिंग डेटा के लिए कोई उद्देश्य या लाभ हैं?

उत्तर

4

जावास्क्रिप्ट में हैशिंग फ़ंक्शंस के लिए उपयोग हैं, उदाहरण के लिए कैप्चास क्लाइंट पक्ष को सत्यापित करना (इनपुट से गणना में हैश की तुलना करके सत्र में हैश की तुलना करके)। जाहिर है, उपयोग सीमित हैं क्योंकि यह लगभग पूरी तरह से क्लाइंट पक्ष चलाता है (और आप क्लाइंट इनपुट पर भरोसा नहीं कर सकते), लेकिन संभावित है।

+1

सवाल यह है कि ग्राहक क्लाइंट इनपुट पर भरोसा कर सकता है या नहीं, इस सवाल के लिए पूरी तरह से ऑर्थोगोनल है कि जावास्क्रिप्ट क्रिप्टोग्राफी के लिए एक उचित मंच है या नहीं। यह [हालिया लेख] (http://www.matasano.com/articles/javascript-cryptography/) तर्क देता है कि यह नहीं है, [कुछ लोग असहमत हैं] (http://news.ycombinator.com/item?id=2935220) । – Sebastian

0

मुझे नहीं पता कि जावास्क्रिप्ट का उपयोग करके क्रिप्टोग्राफ़िक फ़ंक्शन क्यों लागू नहीं किया जा सका।

हालांकि .. क्रिप्टोग्राफी संसाधन संसाधन गहन प्रक्रिया है।

संकलित कोड की तुलना में जावास्क्रिप्ट slooooooow है।

+0

नहीं अब, वी 8, squirrelfish और TraceMonkey के लिए धन्यवाद। केवल आईई पीछे छोड़ दिया गया है। –

+0

हाँ, बाजार हिस्सेदारी का केवल 80% पीछे छोड़ दिया गया है ... – gizmo

+0

यहां तक ​​कि वी 8 स्थैतिक संकलित कोड की तुलना में धीमी है। –

1

आप जावास्क्रिप्ट का उपयोग कर डेटा एन्क्रिप्ट कर सकते हैं; हालांकि मुझे लाभों के बारे में निश्चित नहीं है। क्योंकि यदि आप उपयोग कर रहे हैं, तो बेस 64 कहें, आपको क्लाइंट को एन्क्रिप्शन कुंजी भेजने की आवश्यकता है, और यदि कोई एन्क्रिप्टेड जानकारी को रोक सकता है तो वह शायद एन्क्रिप्शन कुंजी को भी अवरुद्ध कर पाएगा।

आपको SSL प्रमाणपत्रों को बदलने के लिए इसका कभी भी उपयोग नहीं करना चाहिए।

+0

हां यह सच है कि मैं कुंजी सुरक्षित रूप से ग्राहक पक्ष को पारित करने के तरीके के बारे में सोच नहीं सकता। मेरी टिप्पणी संपादित की है। – alexmac

+0

HTTPS के बारे में क्या? –

+0

जैसा कि आपने कहा था, जेएस को अंत तक एन्क्रिप्शन के अंत में उपयोग नहीं किया जाना चाहिए; हालांकि, वहां कुछ सेवाएं हैं जो एन्क्रिप्शन/डिक्रिप्शन क्लाइंट-साइड करके सुरक्षित सर्वर प्रदान करती हैं और सर्वर पर केवल एन्क्रिप्टेड जानकारी संग्रहीत करती हैं। –

1

कभी कभी आप सुरक्षित डेटा स्थानांतरित करने के लिए एक सुरक्षित मंच के रूप में जावास्क्रिप्ट का उपयोग कर सकते ...

लेकिन यह एक md5 या एन्क्रिप्शन क्लाइंट साइड के अन्य प्रकार, कि आप में से एक यथोचित सुरक्षित तरीका प्रदान करता करना संभव है प्रमाणीकरण आप सर्वर-साइड का परीक्षण कर सकते हैं! -)

0

मैं कम से कम एक उपयोग देख सकता हूं: यदि आप क्लाइंट एन्क्रिप्टेड डेटा भेज रहे हैं, तो उपयोगकर्ता को स्थानीय रूप से प्रवेश करने वाली कुंजी/पासवर्ड के आधार पर जावास्क्रिप्ट में डिक्रिप्ट करना। यह एक साझा कुंजी या ज्ञात पासवर्ड का अनुमान लगाता है जिसे आपने मूल रूप से सर्वर पर डेटा एन्क्रिप्ट करने के लिए उपयोग किया था। साथ ही, इन कार्यों को अक्सर दुर्भावनापूर्ण और/या obfuscated जावास्क्रिप्ट द्वारा उपयोग किया जाता है।

0

उत्तर इस बात पर निर्भर करता है कि आप क्या करना चाहते हैं।

यदि आप ग्राहक पक्ष, ऑफ़लाइन, लगातार वेब अनुप्रयोगों पर क्रिप्टोग्राफी का उपयोग करना चाहते हैं तो हाँ। तो उदाहरण के लिए क्या आप HTML 5 विनिर्देशों 'GlobalStorage()' का उपयोग करके एम्बेडेड डेटाबेस में संग्रहीत सभी डेटा एन्क्रिप्ट करना चाहते हैं। फिर जावास्क्रिप्ट क्रिप्टो का उपयोग करें, क्योंकि संभावना यह है कि सर्वर सर्वर पर सभी क्रिप्टो को संभालने के लिए आपके पास कनेक्शन नहीं है।

की कोशिश की और परीक्षण किया विधियों का उपयोग नहीं करते हैं

1

ये ब्लॉग लेख JavaScript में क्रिप्टोग्राफी के लिए मूल्यवान का उपयोग करता है वर्णन: सुरक्षित रूप से अपने आप को पहचान करने के लिए

:

http://digitalbazaar.com/2010/08/07/webid/

एक सुरक्षित इंटरफेस प्रदान के लिए एक वेबसाइट के माध्यम से लोकहोस्ट अनुप्रयोगों w/एम्बेडेड-सर्वर के लिए:

http://digitalbazaar.com/2010/07/20/javascript-tls-1/

http://digitalbazaar.com/2010/07/20/javascript-tls-2/

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