.NET असेंबली में एक मजबूत नाम लागू करने के लिए .snk फ़ाइल का उपयोग किया जाता है । इस तरह के एक मजबूत नाम के होते हैं
एक साधारण पाठ का नाम, संस्करण संख्या और संस्कृति की जानकारी (यदि प्रदान की गई है) - एक सार्वजनिक कुंजी और एक डिजिटल हस्ताक्षर भी।
एसएनके में एक अद्वितीय कुंजी जोड़ी है - एक निजी और सार्वजनिक कुंजी जिसका उपयोग यह सुनिश्चित करने के लिए किया जा सकता है कि आपके पास विधानसभा के लिए एक अद्वितीय मजबूत नाम है। जब असेंबली का दृढ़ता से नाम दिया जाता है, तो विधानसभा की सामग्री से एक "हैश" का निर्माण किया जाता है, और हैश को निजी कुंजी के साथ एन्क्रिप्ट किया जाता है। फिर इस हस्ताक्षरित हैश को सार्वजनिक कुंजी के साथ .snk से विधानसभा में रखा जाता है।
बाद में, जब किसी को दृढ़ता से नामित विधानसभा की अखंडता को सत्यापित करने की आवश्यकता होती है, तो वे विधानसभा की सामग्री का एक हैश बनाते हैं, और विधानसभा से आने वाली हैश को डिक्रिप्ट करने के लिए विधानसभा से सार्वजनिक कुंजी का उपयोग करते हैं - यदि दो हैश मैच, विधानसभा सत्यापन पास हो गया।
यह सुनिश्चित करने के लिए विधानसभाओं को इस तरह से सत्यापित करने में सक्षम होना महत्वपूर्ण है कि कोई भी एक दुर्भावनापूर्ण के लिए एक विधानसभा को बाहर नहीं करता है जो पूरे एप्लिकेशन को हटा देगा। यही कारण है कि गैर-मजबूत-नामित असेंबलियों को उसी तरह से भरोसा नहीं किया जाता है कि दृढ़ता से नामित असेंबली हैं, इसलिए उन्हें जीएसी में नहीं रखा जा सकता है। इसके अलावा, विश्वास की एक श्रृंखला है - आप एक दृढ़ता से नामित विधानसभा उत्पन्न नहीं कर सकते हैं जो गैर-दृढ़ता से नामित विधानसभाओं को संदर्भित करता है।
लेख " द स्ट्रॉन्ग ऑफ स्ट्रांग नेमिंग (वेकबैक मशीन पर संग्रहीत) "। इन अवधारणाओं को और अधिक विस्तार से समझाने का एक उत्कृष्ट काम करता है। चित्रों के साथ।