(0) exportieren Drucken
Alle erweitern
Dieser Artikel wurde maschinell übersetzt. Bewegen Sie den Mauszeiger über die Sätze im Artikel, um den Originaltext anzuzeigen. Weitere Informationen
Übersetzung
Original
Dieser Artikel wurde noch nicht bewertet - Dieses Thema bewerten.

RIPEMD160-Klasse

Stellt die abstrakte Klasse dar, von der alle Implementierungen des MD160-Hashalgorithmus vererbt werden.

Namespace:  System.Security.Cryptography
Assembly:  mscorlib (in mscorlib.dll)
[ComVisibleAttribute(true)]
public abstract class RIPEMD160 : HashAlgorithm

Der RIPEMD160-Typ macht die folgenden Member verfügbar.

  NameBeschreibung
Geschützte MethodeRIPEMD160Initialisiert eine neue Instanz der RIPEMD160-Klasse.
Zum Seitenanfang
  NameBeschreibung
Öffentliche EigenschaftCanReuseTransformRuft einen Wert ab, der angibt, ob die aktuelle Transformation wiederverwendet werden kann. (Von HashAlgorithm geerbt.)
Öffentliche EigenschaftCanTransformMultipleBlocksRuft beim Überschreiben in einer abgeleiteten Klasse einen Wert ab, der angibt, ob mehrere Blöcke umgewandelt werden können. (Von HashAlgorithm geerbt.)
Öffentliche EigenschaftHashRuft den Wert des errechneten Hashcodes ab. (Von HashAlgorithm geerbt.)
Öffentliche EigenschaftHashSizeRuft die Größe des berechneten Hashcodes in Bits ab. (Von HashAlgorithm geerbt.)
Öffentliche EigenschaftInputBlockSizeRuft beim Überschreiben in einer abgeleiteten Klasse die Eingabeblockgröße ab. (Von HashAlgorithm geerbt.)
Öffentliche EigenschaftOutputBlockSizeRuft beim Überschreiben in einer abgeleiteten Klasse die Ausgabeblockgröße ab. (Von HashAlgorithm geerbt.)
Zum Seitenanfang
  NameBeschreibung
Öffentliche MethodeClearGibt alle von der HashAlgorithm-Klasse verwendeten Ressourcen frei. (Von HashAlgorithm geerbt.)
Öffentliche MethodeComputeHash(Byte[])Errechnet den Hashwert für das angegebene Bytearray. (Von HashAlgorithm geerbt.)
Öffentliche MethodeComputeHash(Stream)Berechnet den Hashwert für das angegebene Stream-Objekt. (Von HashAlgorithm geerbt.)
Öffentliche MethodeComputeHash(Byte[], Int32, Int32)Berechnet den Hashwert für den angegebenen Bereich des angegebenen Bytearrays. (Von HashAlgorithm geerbt.)
Öffentliche MethodeStatischer MemberCreate()Erstellt eine Instanz der Standardimplementierung des RIPEMD160-Hashalgorithmus.
Öffentliche MethodeStatischer MemberCreate(String)Erstellt eine Instanz der angegebenen Implementierung des RIPEMD160-Hashalgorithmus.
Öffentliche MethodeDispose()Gibt alle von der aktuellen Instanz der HashAlgorithm-Klasse verwendeten Ressourcen frei. (Von HashAlgorithm geerbt.)
Geschützte MethodeDispose(Boolean)Gibt die von der HashAlgorithm-Klasse verwendeten nicht verwalteten Ressourcen und optional auch die verwalteten Ressourcen frei. (Von HashAlgorithm geerbt.)
Öffentliche MethodeEquals(Object)Bestimmt, ob das angegebene Objekt mit dem aktuellen Objekt identisch ist. (Von Object geerbt.)
Geschützte MethodeFinalize Gibt einem Objekt Gelegenheit, Ressourcen freizugeben und andere Bereinigungen durchzuführen, bevor es von der Garbage Collection freigegeben wird. (Von Object geerbt.)
Öffentliche MethodeGetHashCodeFungiert als die Standardhashfunktion. (Von Object geerbt.)
Öffentliche MethodeGetTypeRuft den Type der aktuellen Instanz ab. (Von Object geerbt.)
Geschützte MethodeHashCoreLeitet beim Überschreiben in einer abgeleiteten Klasse die in das Objekt geschriebenen Daten zum Errechnen des Hashs an den Hashalgorithmus weiter. (Von HashAlgorithm geerbt.)
Geschützte MethodeHashFinalSchließt beim Überschreiben in einer abgeleiteten Klasse die Berechnung des Hashs ab, nachdem die letzten Daten vom Kryptografiestreamobjekt verarbeitet wurden. (Von HashAlgorithm geerbt.)
Öffentliche MethodeInitializeInitialisiert eine Implementierung der HashAlgorithm-Klasse. (Von HashAlgorithm geerbt.)
Geschützte MethodeMemberwiseCloneErstellt eine flache Kopie des aktuellen Object. (Von Object geerbt.)
Öffentliche MethodeToStringGibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt. (Von Object geerbt.)
Öffentliche MethodeTransformBlockErrechnet den Hashwert für den angegebenen Bereich des Eingabebytearrays und kopiert den angegebenen Bereich des Eingabebytearrays in den angegebenen Bereich des Ausgabebytearrays. (Von HashAlgorithm geerbt.)
Öffentliche MethodeTransformFinalBlockBerechnet den Hashwert für den angegebenen Bereich des angegebenen Bytearrays. (Von HashAlgorithm geerbt.)
Zum Seitenanfang
  NameBeschreibung
Geschütztes FeldHashSizeValueStellt die Größe des berechneten Hashcodes in Bits dar. (Von HashAlgorithm geerbt.)
Geschütztes FeldHashValueStellt den Wert des errechneten Hashcodes dar. (Von HashAlgorithm geerbt.)
Geschütztes FeldStateStellt den Zustand der Hashberechnung dar. (Von HashAlgorithm geerbt.)
Zum Seitenanfang

Hashfunktionen ordnen binäre Zeichenfolgen beliebiger Länge kleinen binären Zeichenfolgen fester Länge zu. Kryptografische Hashfunktionen sind dadurch gekennzeichnet, dass es rechnerisch unmöglich ist, zwei verschiedene Eingabewerte zu ermitteln, die denselben Hashwert ergeben. Daher sind die Hashs zweier Datenmengen identisch, wenn auch die entsprechenden Daten identisch sind. Kleine Änderungen an den Daten führen zu beträchtlichen unvorhersehbaren Änderungen des Hashs.

RIPEMD-160 ist eine kryptografische 160-Bit-Hashfunktion. Diese ist als Ersatz für die 128-Bit-Hashfunktionen MD4, MD5 und RIPEMD bestimmt. RIPEMD wurde im Framework des EU-Projekts RIPE (RACE Integrity Primitives Evaluation, 1988-1992) entwickelt.

HinweisHinweis

RIPEMD160 ist von der Secure-Hash-Algorithmen SHA-256 und SHA-512 und ihre abgeleiteten Klassen ersetzt. SHA256 und SHA512 bieten verbesserte Sicherheit und Leistung als RIPEMD160 an. Verwenden Sie RIPEMD160 nur für die Kompatibilität mit älteren Anwendungen und Daten.

Im folgenden Codebeispiel wird der RIPEMD160-Hash für alle Dateien in einem Verzeichnis berechnet.


using System;
using System.IO;
using System.Security.Cryptography;
using System.Windows.Forms;

public class HashDirectory
{

    [STAThreadAttribute]
    public static void Main(String[] args)
    {
        string directory = "";
        if (args.Length < 1)
        {
            FolderBrowserDialog fbd = new FolderBrowserDialog();
            DialogResult dr = fbd.ShowDialog();
            if (dr == DialogResult.OK)
                directory = fbd.SelectedPath;
            else
            {
                Console.WriteLine("No directory selected.");
                return;
            }
        }
        else
            directory = args[0];
        try
        {
            // Create a DirectoryInfo object representing the specified directory.
            DirectoryInfo dir = new DirectoryInfo(directory);
            // Get the FileInfo objects for every file in the directory.
            FileInfo[] files = dir.GetFiles();
            // Initialize a RIPE160 hash object.
            RIPEMD160 myRIPEMD160 = RIPEMD160Managed.Create();
            byte[] hashValue;
            // Compute and print the hash values for each file in directory.
            foreach (FileInfo fInfo in files)
            {
                // Create a fileStream for the file.
                FileStream fileStream = fInfo.Open(FileMode.Open);
                // Be sure it's positioned to the beginning of the stream.
                fileStream.Position = 0;
                // Compute the hash of the fileStream.
                hashValue = myRIPEMD160.ComputeHash(fileStream);
                // Write the name of the file to the Console.
                Console.Write(fInfo.Name + ": ");
                // Write the hash value to the Console.
                PrintByteArray(hashValue);
                // Close the file.
                fileStream.Close();
            }
            return;
        }
        catch (DirectoryNotFoundException)
        {
            Console.WriteLine("Error: The directory specified could not be found.");
        }
        catch (IOException)
        {
            Console.WriteLine("Error: A file in the directory could not be accessed.");
        }
    }
    // Print the byte array in a readable format.
    public static void PrintByteArray(byte[] array)
    {
        int i;
        for (i = 0; i < array.Length; i++)
        {
            Console.Write(String.Format("{0:X2}", array[i]));
            if ((i % 4) == 3) Console.Write(" ");
        }
        Console.WriteLine();
    }
}


.NET Framework

Unterstützt in: 4.5, 4, 3.5, 3.0, 2.0

.NET Framework Client Profile

Unterstützt in: 4, 3.5 SP1

Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core-Rolle wird nicht unterstützt), Windows Server 2008 R2 (Server Core-Rolle wird mit SP1 oder höher unterstützt; Itanium wird nicht unterstützt)

Es werden nicht alle Versionen sämtlicher Plattformen von .NET Framework unterstützt.. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen für .NET Framework.
Alle öffentlichen static (Shared in Visual Basic) Member dieses Typs sind threadsicher. Bei Instanzmembern ist die Threadsicherheit nicht gewährleistet.
Fanden Sie dies hilfreich?
(1500 verbleibende Zeichen)
Vielen Dank für Ihr Feedback.

Community-Beiträge

HINZUFÜGEN
Anzeigen:
© 2014 Microsoft. Alle Rechte vorbehalten.