SymmetricAlgorithm Klasse
TOC
Inhaltsverzeichnis reduzieren
Inhaltsverzeichnis erweitern
Dieser Artikel wurde maschinell übersetzt. Wenn Sie die englische Version des Artikels anzeigen möchten, aktivieren Sie das Kontrollkästchen Englisch. Sie können den englischen Text auch in einem Popupfenster anzeigen, indem Sie den Mauszeiger über den Text bewegen.
Übersetzung
Englisch

SymmetricAlgorithm-Klasse

 

Stellt die abstrakte Basisklasse dar, von der alle Implementierungen von symmetrischen Algorithmen erben müssen.

Namespace:   System.Security.Cryptography
Assembly:  mscorlib (in mscorlib.dll)


[ComVisibleAttribute(true)]
public abstract class SymmetricAlgorithm : IDisposable

NameBeschreibung
System_CAPS_protmethodSymmetricAlgorithm()

Initialisiert eine neue Instanz der SymmetricAlgorithm-Klasse.

NameBeschreibung
System_CAPS_pubpropertyBlockSize

Ruft die Blockgröße des kryptografischen Vorgangs in Bits ab oder legt diese fest.

System_CAPS_pubpropertyFeedbackSize

Ruft die Feedbackgröße des kryptografischen Vorgangs in Bits ab oder legt diese fest.

System_CAPS_pubpropertyIV

Ruft den Initialisierungsvektor (IV) für den symmetrischen Algorithmus ab oder legt diesen fest.

System_CAPS_pubpropertyKey

Ruft den geheimen Schlüssel für den symmetrischen Algorithmus ab oder legt diesen fest.

System_CAPS_pubpropertyKeySize

Ruft die Größe des geheimen Schlüssels für den symmetrischen Algorithmus in Bits ab oder legt diese fest.

System_CAPS_pubpropertyLegalBlockSizes

Ruft die vom symmetrischen Algorithmus unterstützten Blockgrößen in Bits ab.

System_CAPS_pubpropertyLegalKeySizes

Ruft die vom symmetrischen Algorithmus unterstützten Schlüsselgrößen in Bits ab.

System_CAPS_pubpropertyMode

Ruft den Modus für die Ausführung des symmetrischen Algorithmus ab oder legt diesen fest.

System_CAPS_pubpropertyPadding

Ruft den im symmetrischen Algorithmus verwendeten Füllzeichenmodus ab oder legt diesen fest.

NameBeschreibung
System_CAPS_pubmethodClear()

Gibt alle von der SymmetricAlgorithm-Klasse verwendeten Ressourcen frei.

System_CAPS_pubmethodSystem_CAPS_staticCreate()

Erstellt ein Standardkryptografieobjekt zum Ausführen des symmetrischen Algorithmus.

System_CAPS_pubmethodSystem_CAPS_staticCreate(String)

Erstellt das angegebene Kryptografieobjekt zum Ausführen des symmetrischen Algorithmus.

System_CAPS_pubmethodCreateDecryptor()

Erstellt ein symmetrisches Entschlüsselungsobjekt mit der aktuellen Key-Eigenschaft und dem Initialisierungsvektor (IV).

System_CAPS_pubmethodCreateDecryptor(Byte[], Byte[])

Erstellt beim Überschreiben in einer abgeleiteten Klasse ein symmetrisches Entschlüsselungsobjekt mit der angegebenen Key-Eigenschaft und dem angegebenen Initialisierungsvektor (IV).

System_CAPS_pubmethodCreateEncryptor()

Erstellt ein symmetrisches Verschlüsselungsobjekt mit der aktuellen Key-Eigenschaft und dem aktuellen Initialisierungsvektor (IV).

System_CAPS_pubmethodCreateEncryptor(Byte[], Byte[])

Erstellt beim Überschreiben in einer abgeleiteten Klasse ein symmetrisches Verschlüsselungsobjekt mit der angegebenen Key-Eigenschaft und dem angegebenen Initialisierungsvektor (IV).

System_CAPS_pubmethodDispose()

Gibt alle von der aktuellen Instanz der SymmetricAlgorithm-Klasse verwendeten Ressourcen frei.

System_CAPS_protmethodDispose(Boolean)

Gibt die von SymmetricAlgorithm verwendeten nicht verwalteten Ressourcen und optional die verwalteten Ressourcen frei.

System_CAPS_pubmethodEquals(Object)

Bestimmt, ob das angegebene Objekt mit dem aktuellen Objekt identisch ist.(Geerbt von Object.)

System_CAPS_protmethodFinalize()

Gibt einem Objekt Gelegenheit, Ressourcen freizugeben und andere Bereinigungen durchzuführen, bevor es von der Garbage Collection freigegeben wird. (Geerbt von Object.)

System_CAPS_pubmethodGenerateIV()

Generiert beim Überschreiben in einer abgeleiteten Klasse einen zufälligen Initialisierungsvektor (IV) für den Algorithmus.

System_CAPS_pubmethodGenerateKey()

Generiert beim Überschreiben in einer abgeleiteten Klasse einen zufälligen Schlüssel (Key) für den Algorithmus.

System_CAPS_pubmethodGetHashCode()

Fungiert als die Standardhashfunktion.(Geerbt von Object.)

System_CAPS_pubmethodGetType()

Ruft den Type der aktuellen Instanz ab.(Geerbt von Object.)

System_CAPS_protmethodMemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.(Geerbt von Object.)

System_CAPS_pubmethodToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.(Geerbt von Object.)

System_CAPS_pubmethodValidKeySize(Int32)

Bestimmt, ob die angegebene Schlüsselgröße für den aktuellen Algorithmus gültig ist.

NameBeschreibung
System_CAPS_protfieldBlockSizeValue

Stellt die Blockgröße des kryptografischen Vorgangs in Bits dar.

System_CAPS_protfieldFeedbackSizeValue

Stellt die Feedbackgröße des kryptografischen Vorgangs in Bits dar.

System_CAPS_protfieldIVValue

Stellt den Initialisierungsvektor (IV) für den symmetrischen Algorithmus dar.

System_CAPS_protfieldKeySizeValue

Stellt die Größe des vom symmetrischen Algorithmus verwendeten geheimen Schlüssels in Bits dar.

System_CAPS_protfieldKeyValue

Stellt den geheimen Schlüssel für den symmetrischen Algorithmus dar.

System_CAPS_protfieldLegalBlockSizesValue

Gibt die vom symmetrischen Algorithmus unterstützten Blockgrößen in Bits an.

System_CAPS_protfieldLegalKeySizesValue

Gibt die vom symmetrischen Algorithmus unterstützten Schlüsselgrößen in Bits an.

System_CAPS_protfieldModeValue

Stellt den im symmetrischen Algorithmus verwendeten Verschlüsselungsmodus dar.

System_CAPS_protfieldPaddingValue

Stellt den im symmetrischen Algorithmus verwendeten Füllzeichenmodus dar.

Die abgeleitete Klassen die SymmetricAlgorithm -Klasse verwenden Verkettungsmodus Cipher Block chaining (CBC), erfordert einen Schlüssel (Key) und einen Initialisierungsvektor (IV) kryptografische Transformationen auf die Daten ausführen. Zum Entschlüsseln von Daten, die mithilfe eines verschlüsselt wurde der SymmetricAlgorithm Klassen, die Sie festlegen müssen die Key Eigenschaft und die IV Eigenschaft, um die gleichen Werte, die für die Verschlüsselung verwendet wurden. Für einen symmetrischen Algorithmus nützlich sein muss der geheime Schlüssel nur für den Sender und Empfänger bekannt sein.

RijndaelManaged, DESCryptoServiceProvider, RC2CryptoServiceProvider, und TripleDESCryptoServiceProvider sind Implementierungen von symmetrischen Algorithmen.

Beachten Sie, dass mithilfe von Klassen abgeleitet werden, es nicht genügend aus Gründen der Sicherheit ist, um einfach eine Garbagecollection zu erzwingen, Sie nach dem Verwenden des Objekts. Sie müssen explizit aufrufen, die Clear Methode für das Objekt mit Nullen gefüllt vertraulichen Daten innerhalb des Objekts vor der Freigabe. Beachten Sie, dass die Garbagecollection ist nicht 0 (null), der Inhalt der aufgelisteten Objekte, sondern nur der Speicher als verfügbar für Neubelegung kennzeichnet. Daher können die Daten in einem Objekt mit Garbage Collection noch vorhanden im Heap im nicht belegten Speicher sein. Im Fall von kryptografischen Objekten können diese Daten vertraulichen Informationen wie z. B. Schlüsseldaten oder einen Block von nur-Text enthalten.

Alle kryptografischen Klassen in .NET Framework, die vertrauliche Daten, implementieren enthalten eine Clear Methode. Beim Aufrufen der Clear -Methode alle vertrauliche Daten innerhalb des Objekts mit Nullen überschrieben, und gibt dann das Objekt frei, damit es problemlos Garbage Collection durchgeführt werden kann. Wenn das Objekt auf NULL gesetzt und veröffentlicht wurde, sollten Sie dann Aufrufen der Dispose -Methode mit der disposing Parametersatz zu True Freigeben von alle verwalteten und nicht verwalteten Ressourcen, die dem Objekt zugeordnet.

Hinweise zur Vererbung:

Beim Erben von der SymmetricAlgorithm -Klasse, müssen Sie die folgenden Member überschreiben: CreateDecryptor, CreateEncryptor, GenerateIV, und GenerateKey.

Im folgenden Codebeispiel wird die RijndaelManaged -Klasse mit dem angegebenen Key -Eigenschaft und dem Initialisierungsvektor (IV) zum Verschlüsseln einer Datei mit dem angegebenen inName, und gibt das verschlüsselte Ergebnis an die durch angegebene Datei outName. Die desKey und desIV Parameter der Methode sind 8-Byte-Arrays. Sie müssen das high Encryption Pack zum Ausführen dieses Beispiels installiert haben.

private static void EncryptData(String inName, String outName, byte[] rijnKey, byte[] rijnIV)
 {    
     //Create the file streams to handle the input and output files.
     FileStream fin = new FileStream(inName, FileMode.Open, FileAccess.Read);
     FileStream fout = new FileStream(outName, FileMode.OpenOrCreate, FileAccess.Write);
     fout.SetLength(0);

     //Create variables to help with read and write.
     byte[] bin = new byte[100]; //This is intermediate storage for the encryption.
     long rdlen = 0;              //This is the total number of bytes written.
     long totlen = fin.Length;    //This is the total length of the input file.
     int len;                     //This is the number of bytes to be written at a time.

     SymmetricAlgorithm rijn = SymmetricAlgorithm.Create(); //Creates the default implementation, which is RijndaelManaged.         
     CryptoStream encStream = new CryptoStream(fout, rijn.CreateEncryptor(rijnKey, rijnIV), CryptoStreamMode.Write);

     Console.WriteLine("Encrypting...");

     //Read from the input file, then encrypt and write to the output file.
     while(rdlen < totlen)
     {
         len = fin.Read(bin, 0, 100);
         encStream.Write(bin, 0, len);
         rdlen = rdlen + len;
         Console.WriteLine("{0} bytes processed", rdlen);
     }

     encStream.Close();  
     fout.Close();
     fin.Close();                   
 }

Universal Windows Platform
Verfügbar seit 10
.NET Framework
Verfügbar seit 1.1
Silverlight
Verfügbar seit 2.0
Windows Phone Silverlight
Verfügbar seit 7.0

Öffentliche statische (in Visual Basic freigegebene) Member dieses Typs sind threadsicher. Bei Instanzmembern ist die Threadsicherheit nicht gewährleistet.

Zurück zum Anfang
Anzeigen:
© 2016 Microsoft