Bagikan melalui


RSACryptoServiceProvider.VerifyData(Byte[], Object, Byte[]) Metode

Definisi

Memverifikasi bahwa tanda tangan digital valid dengan menentukan nilai hash dalam tanda tangan menggunakan kunci umum yang disediakan dan membandingkannya dengan nilai hash dari data yang disediakan.

public:
 bool VerifyData(cli::array <System::Byte> ^ buffer, System::Object ^ halg, cli::array <System::Byte> ^ signature);
public bool VerifyData (byte[] buffer, object halg, byte[] signature);
override this.VerifyData : byte[] * obj * byte[] -> bool
member this.VerifyData : byte[] * obj * byte[] -> bool
Public Function VerifyData (buffer As Byte(), halg As Object, signature As Byte()) As Boolean

Parameter

buffer
Byte[]

Data yang ditandatangani.

halg
Object

Nama algoritma hash yang digunakan untuk membuat nilai hash data.

signature
Byte[]

Data tanda tangan yang akan diverifikasi.

Mengembalikan

true jika tanda tangan valid; jika tidak, false.

Pengecualian

Parameternya halg adalah null.

Parameter halg bukan jenis yang valid.

Contoh

Contoh berikut menunjukkan cara menggunakan VerifyData metode untuk memverifikasi tanda tangan. Contoh kode ini adalah bagian dari contoh yang lebih besar yang disediakan untuk metode .SignHash

bool VerifyHash( RSAParameters rsaParams, array<Byte>^signedData, array<Byte>^signature )
{
   RSACryptoServiceProvider^ rsaCSP = gcnew RSACryptoServiceProvider;
   SHA1Managed^ hash = gcnew SHA1Managed;
   array<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 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

Keterangan

Metode ini memverifikasi RSA tanda tangan digital yang dihasilkan oleh SignData metode . Tanda tangan diverifikasi dengan mendapatkan nilai hash dari tanda tangan menggunakan kunci umum yang ditandatanganinya, dan membandingkan nilai tersebut dengan nilai hash dari data yang disediakan.

Parameter halg dapat menerima String, , HashAlgorithmatau Type.

Berlaku untuk

Lihat juga