閱讀英文

共用方式為


RSACryptoServiceProvider.VerifyData(Byte[], Object, Byte[]) 方法

定義

使用提供的公開金鑰,並和所提供資料的雜湊值比較,來為簽章判斷雜湊值,藉此驗證數位簽章是否有效。

public bool VerifyData(byte[] buffer, object halg, byte[] signature);

參數

buffer
Byte[]

已簽署的資料。

halg
Object

用以建立該資料雜湊值的雜湊演算法名稱。

signature
Byte[]

要驗證的簽章資料。

傳回

如果簽章有效則為 true,否則為 false

例外狀況

halg 參數為 null

halg 參數不是有效類型。

範例

下列範例示範如何使用 VerifyData 方法來驗證簽章。 此程式代碼範例是為 方法提供之較大範例的 SignHash 一部分。

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);
}

備註

這個方法會 RSA 驗證 方法所產生的 SignData 數字簽名。 使用簽章簽署的公鑰從簽章取得哈希值,並將該值與所提供數據的哈希值進行比較,藉此驗證簽章。

參數 halg 可以接受 String、、 HashAlgorithmType

適用於

產品 版本
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1

另請參閱