تعيين فئات إلى Crypإلىgraphy أسماء خوارزمية

توجد أربع طرق يمكن لمطور إنشاء كائن تشفير تستخدم عدة تطوير برامج Windows (SDK):

  • قم بإنشاء كائن باستخدام جديد عامل.

  • إنشاء كائن يقوم بتنفيذ خوارزمية تشفير معينة بواسطة استدعاء إنشاء أسلوب في فئة مجردة لهذه الخوارزمية.

  • إنشاء كائن يقوم بتنفيذ خوارزمية تشفير معينة بواسطة استدعاء من النظام.الأمان.Cryptography.CryptoConfig.CreateFromName أسلوب.

  • إنشاء كائن تطبيق فئة من خوارزميات التشفير (تشغيل سبيل المثال، تشفير حظر متماثلة) بواسطة استدعاء الأسلوب إنشاءتشغيل الملخص فئة لهذا النوع من خوارزمية (مثل SymmetricAlgorithm).

على سبيل المثال، افترض أن يرغب مطور إلى حساب تجزئة SHA1 التعيين من وحدات البايت. System.Security.Cryptographyمساحة الاسم يحتوي على تطبيقات الثاني من خوارزمية التجزئة SHA1, التنفيذ المدارة إلى واحد والآخر الذي يلتف CryptoAPI. يمكن اختيار المطور إنشاء مثيل لتنفيذ ما SHA1 معينة (مثل فئةSHA1Managed ) بواسطة استدعاء العامل جديد. ومع ذلك، إذا غير المهم الذي الفئة وقت تشغيل اللغة العامة يحمل طالما أنه يطبق الفئة SHA1 تجزئة خوارزمية، المطور يمكن إنشاء كائن عن طريق استدعاء النظام.الأمان.تشفير.SHA1.Create الأسلوب. استدعاء هذا الأسلوب النظام.الأمان.تشفير.CryptoConfig.CreateFromName("النظام.الأمان.تشفير.SHA1") ، التي يجب إعادة تطبيق لوغاريتم التجزئة SHA1.

يمكن أيضا استدعاء المطور من النظام.الأمان.Cryptography.CryptoConfig.CreateFromName("SHA1") لأنه، بشكل افتراضي، يتضمن تكوين تشفير أسماء قصير الخوارزميات التي يتم شحنها في إطار عمل.NET.

إذا لم غير المهم لوغاريتم التجزئة التي هو الاستخدام، المطور يمكن استدعاء النظام.الأمان.تشفير.HashAlgorithm.إنشاء الطريقة التي تقوم بإرجاع كائن يطبق تحويل التجزئة.

تعيين خوارزمية أسماء في ملفات تكوين

عن طريق الافتراضي، وقت التشغيل بإرجاع كائن فئة النظام.الأمان.تشفير.SHA1CryptoServiceProvider لكافة السيناريوهات الأربعة. ومع ذلك، يمكن لمسؤول جهاز تغيير نوع الكائن إرجاع الأساليب الموجودة في وحدات سيناريو الأخيرتين. إلى للقيام بذلك، يجب تعيين اسم مألوف خوارزمية إلى الفئة التي تريد إلى استخدامها في ملف تكوين آلة (آلة.config).

يوضح المثال التالي كيفية إلى تكوين وقت التشغيل ومن ثم إرجاع النظام.الأمان.Crypإلىgraphy.SHA1.إنشاء **النظام.الأمان.CrypإلىConfig.إنشاءFromName("SHA1")**و النظام.الأمان.Crypإلىgraphy.HashAlgorithm.إنشاء MySHA1HashClassالكائن.

<configuration>
   <!-- Other configuration settings. -->
   <mscorlib>
      <cryptographySettings>
         <cryptoNameMapping>
            <cryptoClasses>
               <cryptoClass MySHA1Hash="MySHA1HashClass, MyAssembly
                  Culture='en', PublicKeyToken=a5d015c7d5a0b012,
                  Version=1.0.0.0"/>
            </cryptoClasses>
            <nameEntry name="SHA1" class="MySHA1Hash"/>
            <nameEntry name="System.Security.Cryptography.SHA1"
                       class="MySHA1Hash"/>
            <nameEntry name="System.Security.Cryptography.HashAlgorithm"
                       class="MySHA1Hash"/>
         </cryptoNameMapping>
      </cryptographySettings>
   </mscorlib>
</configuration>

يمكنك تحديد اسم السمة في <cryptoClass> عنصر (the السابق مثال أسماء the سمةMySHA1Hash). القيمة السمة في العنصر <cryptoClass> هو سلسلة أحرف تستخدم وقت تشغيل اللغة العامة للعثور على الفئة. يمكنك استخدم أي سلسلة يفي بالمتطلبات المحددة في تعيين ثقة كاملة مؤهل اكتب الأسماء.

يمكن تعيين العديد من الأسماء خوارزمية إلى نفس الفئة. عنصر <nameEntry> بتعيين فئة إلى اسم مألوف خوارزمية واحد. يمكن أن تكون السمة name أي سلسلة أحرف الذي هو المستخدم عند استدعاء الأسلوب النظام.الأمان.تشفير.CryptoConfig.CreateFromName أو اسم لفئة مجردة تشفير في System.Security.Cryptographyمساحة الاسم. القيمة السمة فئة هو اسم السمة في العنصر <cryptoClass>.

ملاحظةملاحظة

يمكنك يحصل خوارزمية SHA1 بواسطة استدعاء النظام.الأمان.تشفير.SHA1.إنشاء أو الأمان.CryptoConfig.CreateFromName("SHA1") الأسلوب.يضمن كل أسلوب فقط تقوم بإرجاع كائن يقوم بتنفيذ خوارزمية التجزئة SHA1.ليس لديك إلى مخطط كل اسم مألوف خوارزمية لنفس الفئة في ملف تكوين.

للحصول على قائمة الافتراضي أسماء وفئات يتم تعيين إلى، راجع فئة CryptoConfig.

راجع أيضًا:

المبادئ

خدمات التشفير

موارد أخرى

تهيئة فئات التشفير