RSACryptoServiceProvider.VerifyHash Metod

Definition

Verifierar att en digital signatur är giltig.

Överlagringar

Name Description
VerifyHash(Byte[], String, Byte[])

Verifierar att en digital signatur är giltig genom att fastställa hashvärdet i signaturen med hjälp av den angivna offentliga nyckeln och jämföra den med det angivna hashvärdet.

VerifyHash(Byte[], Byte[], HashAlgorithmName, RSASignaturePadding)

Verifierar att en digital signatur är giltig genom att fastställa hash-värdet i signaturen med den angivna hashalgoritmen och utfyllnadsalgoritmen och jämföra den med det angivna hash-värdet.

VerifyHash(Byte[], String, Byte[])

Källa:
RSACryptoServiceProvider.Unix.cs
Källa:
RSACryptoServiceProvider.Unix.cs
Källa:
RSACryptoServiceProvider.Unix.cs
Källa:
RSACryptoServiceProvider.Unix.cs
Källa:
RSACryptoServiceProvider.Unix.cs

Verifierar att en digital signatur är giltig genom att fastställa hashvärdet i signaturen med hjälp av den angivna offentliga nyckeln och jämföra den med det angivna hashvärdet.

public:
 bool VerifyHash(cli::array <System::Byte> ^ rgbHash, System::String ^ str, cli::array <System::Byte> ^ rgbSignature);
public bool VerifyHash(byte[] rgbHash, string str, byte[] rgbSignature);
override this.VerifyHash : byte[] * string * byte[] -> bool
member this.VerifyHash : byte[] * string * byte[] -> bool
Public Function VerifyHash (rgbHash As Byte(), str As String, rgbSignature As Byte()) As Boolean

Parametrar

rgbHash
Byte[]

Hash-värdet för signerade data.

str
String

Hash-algoritmidentifieraren (OID) som används för att skapa hash-värdet för data.

rgbSignature
Byte[]

Signaturdata som ska verifieras.

Returer

trueom signaturen är giltig. annars . false

Undantag

Parametern rgbHash är null.

-eller-

Parametern rgbSignature är null.

Det går inte att hämta den kryptografiska tjänstleverantören (CSP).

-eller-

Det går inte att verifiera signaturen.

Exempel

I följande exempel visas hur du använder VerifyHash metoden för att verifiera en signatur. Det här kodexemplet är en del av ett större exempel för SignHash metoden.

public bool VerifyHash(RSAParameters rsaParams, byte[] signedData, byte[] signature)
{
    RSACryptoServiceProvider rsaCSP = new RSACryptoServiceProvider();
    SHA1Managed hash = new SHA1Managed();
    byte[] hashedData;

    rsaCSP.ImportParameters(rsaParams);
    bool dataOK = rsaCSP.VerifyData(signedData, CryptoConfig.MapNameToOID("SHA1"), signature);
    hashedData = hash.ComputeHash(signedData);
    return rsaCSP.VerifyHash(hashedData, CryptoConfig.MapNameToOID("SHA1"), signature);
}
Public Function VerifyHash(ByVal rsaParams As RSAParameters, ByVal signedData() As Byte, ByVal signature() As Byte) As Boolean
    Dim rsaCSP As New RSACryptoServiceProvider()
    Dim hash As New SHA1Managed()
    Dim hashedData() As Byte
    Dim dataOK As Boolean

    rsaCSP.ImportParameters(rsaParams)
    dataOK = rsaCSP.VerifyData(signedData, CryptoConfig.MapNameToOID("SHA1"), signature)
    hashedData = hash.ComputeHash(signedData)
    Return rsaCSP.VerifyHash(hashedData, CryptoConfig.MapNameToOID("SHA1"), signature)
End Function 'VerifyHash

Kommentarer

Den här metoden verifierar den RSA digitala signatur som skapas av SignHash metoden. Signaturen verifieras genom att hash-värdet hämtas från signaturen med hjälp av den offentliga nyckel som den signerades med och jämför det värdet med hash-värdet för de angivna data.

Giltiga hash-algoritmer är SHA1 och MD5. Algoritmidentifieraren kan härledas från hash-namnet med hjälp MapNameToOID av metoden .

På grund av kollisionsproblem med SHA-1 och MD5 rekommenderar Microsoft en säkerhetsmodell baserad på SHA-256 eller bättre.

Se även

Gäller för

VerifyHash(Byte[], Byte[], HashAlgorithmName, RSASignaturePadding)

Källa:
RSACryptoServiceProvider.Unix.cs
Källa:
RSACryptoServiceProvider.Unix.cs
Källa:
RSACryptoServiceProvider.Unix.cs
Källa:
RSACryptoServiceProvider.Unix.cs
Källa:
RSACryptoServiceProvider.Unix.cs

Verifierar att en digital signatur är giltig genom att fastställa hash-värdet i signaturen med den angivna hashalgoritmen och utfyllnadsalgoritmen och jämföra den med det angivna hash-värdet.

public:
 override bool VerifyHash(cli::array <System::Byte> ^ hash, cli::array <System::Byte> ^ signature, System::Security::Cryptography::HashAlgorithmName hashAlgorithm, System::Security::Cryptography::RSASignaturePadding ^ padding);
public override bool VerifyHash(byte[] hash, byte[] signature, System.Security.Cryptography.HashAlgorithmName hashAlgorithm, System.Security.Cryptography.RSASignaturePadding padding);
override this.VerifyHash : byte[] * byte[] * System.Security.Cryptography.HashAlgorithmName * System.Security.Cryptography.RSASignaturePadding -> bool
Public Overrides Function VerifyHash (hash As Byte(), signature As Byte(), hashAlgorithm As HashAlgorithmName, padding As RSASignaturePadding) As Boolean

Parametrar

hash
Byte[]

Hash-värdet för signerade data.

signature
Byte[]

Signaturdata som ska verifieras.

hashAlgorithm
HashAlgorithmName

Namnet på hash-algoritmen som används för att skapa hash-värdet.

padding
RSASignaturePadding

Utfyllnad.

Returer

trueom signaturen är giltig. annars . false

Undantag

hashAlgorithm är null eller Empty.

hash är null.

-eller-

padding är null.

padding är inte lika med Pkcs1.

Gäller för