RSACryptoServiceProvider.VerifyData(Byte[], Object, Byte[]) Metode
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
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.