Ich bin auf der Suche nach HMACSHA256 Request Unterzeichnung in einer API, die ich erstelle. Aus dem, was ich aus https://tools.ietf.org/html/rfc4868 verstehe, ist es am besten, dass der geheime Schlüssel die gleiche Anzahl von Bits wie der Hash-Algorithmus ist (d. H. SHA256-Geheimschlüssel sollten 256 Bits/32 Bytes sein).Generieren Sie einen starken HMACSHA256-Schlüssel in C#
Kann ich einen der vielen verschiedenen Zufallszahlengeneratoren für C# verwenden oder gibt es eine spezielle Möglichkeit, diese Schlüssel zu generieren.
Schließlich verwendet Amazon Web Services HMACSHA256, aber die geheimen Schlüssel, die sie (zumindest für mich) bereitstellen, sind 320 Bits/40 Bytes (wenn der Schlüssel mit UTF-8 in Bytes konvertiert wird, siehe https://github.com/aws/aws-sdk-net/blob/master/AWSSDK/Amazon.Runtime/Internal/Auth/AWS4Signer.cs#L205-L232). Gibt es einen Grund, mehr zu verwenden, als vom Hashing-Algorithmus benötigt wird, da er abgeschnitten ist?
Base64 ist nicht das gleiche wie Hex, IE Ihr Variablenname ist irreführend. – Peter
@Peter, danke, dass ich darauf hingewiesen habe, ich habe den Variablennamen geändert. – Omar