Unterschied zwischen HMACSHA256 und HMACSHA512

Sind wir unter den unten angegebenen code zur Erzeugung eines HMac hash gegen eine sensible Wert in C#

public string GenerateHMac(string key, string message)
{
    var decodedKey = Convert.FromBase64String(key);

    var hasher = new HMACSHA256(decodedKey);

    var messageBytes = Encoding.Default.GetBytes(message);

    var hash = hasher.ComputeHash(messageBytes);

    return Convert.ToBase64String(hash);
}

Den Schlüssel übergeben wird, wird ein 256-bit-base-64-codierte Zeichenfolge. Eine Frage wurde aufgeworfen, ob wir verwenden sollten, HMACSHA256, HMACSHA384 oder HMACSHA512 hash-Wert.

  • Was sind die Vorteile der Verwendung von HMACSHA512 über HMACSHA256?
  • Ist es deutlich sicherer?
  • Gibt es dramatische Auswirkungen auf die Leistung, wenn über einen längeren Schlüssel?

Als Randnotiz; funktioniert die decodedKey Wert leite ich in den Konstruktor werden müssen, um eine 512-bit-Schlüssel, wenn ich HMACSHA512?

InformationsquelleAutor Luke Merrett | 2013-08-06
Schreibe einen Kommentar