सामान्य: आपका नमक 128 बिट्स (उदाहरण के लिए,/dev/urandom) से अधिक सुरक्षित यादृच्छिक, अद्वितीय मान होना चाहिए। इसे सादे पाठ में एक अलग तालिका में संग्रहीत किया जाना चाहिए ताकि इसका उपयोग हैश की पुष्टि करते समय किया जा सके। यह ग्राहक को देखने योग्य नहीं होना चाहिए।
SHA512(password || salt)
जहां password
उपयोगकर्ताओं पासवर्ड है, salt
यादृच्छिक रूप से जनरेट अनूठा मूल्य और:
सामान्य विचार है कि आप उन पासवर्ड और नमक एक साथ हैश, और इस मूल्य की दुकान .. उदाहरण के लिए है ||
concatenation है।
फिर जब उपयोगकर्ता आपको वापस लौटाए गए पासवर्ड के साथ प्रक्रिया दोहराता है और उपयोगकर्ता की पहचान को सत्यापित करने के लिए संग्रहीत हैश के साथ इसकी तुलना करता है। यदि आप त्वरित Google खोज करते हैं तो आपको लवण और उनके उद्देश्य पर अधिक जानकारी मिल जाएगी।
संपादित करें: यह MVC विरोधी जालसाजी टोकन के संबंध (लेवी के जवाब को देखें) में गलत है, और इस blog के एक पढ़ा है। नमक दिखाएं नमक का एक अनूठा रूप नाम या फॉर्म आईडी है (और यह लेबल करने के लिए लेबल या नामित नमक नहीं है)
मैं क्या जानना चाहता हूं कि जब मैं एंटीफोर्गेरी टोकन का उपयोग करता हूं तो नमक मूल्य क्लाइंट को भेजा जाता है या नहीं। हालांकि स्रोत कोड नमक की तैयारी कर रहा है, लेकिन मेरा सीमित हैकिंग कौशल इसे पुनर्प्राप्त नहीं कर सका। अगर यह ठीक हो सकता है तो यह काफी शर्मनाक होगा और नमक कुछ बेवकूफ कहता है। –
ठीक है अगर नमक पुनर्प्राप्त करने योग्य है तो यह स्वयं के उद्देश्य को हरा देगा .. यदि आप चिंतित हैं, तो कुछ बेवकूफ मत चुनें: पी – Kurt
@Prowla - वह एक एमवीसी विरोधी जालसाजी टोकन के लिए नमक के बारे में बात कर रहा है, नहीं एक पासवर्ड नमक। यह ऐसा कुछ नहीं है जिसके लिए एक विशाल परिष्कार की आवश्यकता है। एक साधारण हमले को विफल करने के लिए बस पर्याप्त है। इसके कारण, कोई भी नमक स्वीकार्य होने जा रहा है। हमले का उपयोग किस प्रकार किया जा सकता है इसकी प्रकृति के कारण जाली अनुरोधों के साथ हमले की खिड़की बहुत छोटी है। –