RSACryptoServiceProvider.VerifyHash Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Dijital imzanın geçerli olduğunu doğrular.
Aşırı Yüklemeler
VerifyHash(Byte[], String, Byte[]) |
Sağlanan ortak anahtarı kullanarak imzadaki karma değeri belirleyip sağlanan karma değerle karşılaştırarak dijital imzanın geçerli olduğunu doğrular. |
VerifyHash(Byte[], Byte[], HashAlgorithmName, RSASignaturePadding) |
Belirtilen karma algoritmasını ve doldurmayı kullanarak imzadaki karma değeri belirleyerek ve bunu sağlanan karma değerle karşılaştırarak dijital imzanın geçerli olduğunu doğrular. |
VerifyHash(Byte[], String, Byte[])
Sağlanan ortak anahtarı kullanarak imzadaki karma değeri belirleyip sağlanan karma değerle karşılaştırarak dijital imzanın geçerli olduğunu doğrular.
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
Parametreler
- rgbHash
- Byte[]
İmzalanan verilerin karma değeri.
- str
- String
Verilerin karma değerini oluşturmak için kullanılan karma algoritma tanımlayıcısı (OID).
- rgbSignature
- Byte[]
Doğrulanacak imza verileri.
Döndürülenler
true
imza geçerliyse; aksi takdirde , false
.
Özel durumlar
Örnekler
Aşağıdaki örnekte, bir imzayı doğrulamak için yönteminin VerifyHash nasıl kullanılacağı gösterilmektedir. Bu kod örneği, yöntemi için SignHash sağlanan daha büyük bir örneğin parçasıdır.
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
Açıklamalar
Bu yöntem, yöntemi tarafından üretilen dijital imzayı SignHash doğrularRSA. İmza, imzalandığı ortak anahtar kullanılarak imzadan karma değer alınarak ve bu değer sağlanan verilerin karma değeriyle karşılaştırılarak doğrulanır.
Geçerli karma algoritmaları ve MD5şeklindedirSHA1. Algoritma tanımlayıcısı, yöntemini kullanarak karma adından MapNameToOID türetilebilir.
SHA1 ve MD5 ile ilgili çakışma sorunları nedeniyle Microsoft, SHA256 veya üzerini temel alan bir güvenlik modeli önerir.
Ayrıca bkz.
Şunlara uygulanır
VerifyHash(Byte[], Byte[], HashAlgorithmName, RSASignaturePadding)
Belirtilen karma algoritmasını ve doldurmayı kullanarak imzadaki karma değeri belirleyerek ve bunu sağlanan karma değerle karşılaştırarak dijital imzanın geçerli olduğunu doğrular.
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
Parametreler
- hash
- Byte[]
İmzalanan verilerin karma değeri.
- signature
- Byte[]
Doğrulanacak imza verileri.
- hashAlgorithm
- HashAlgorithmName
Karma değerini oluşturmak için kullanılan karma algoritma adı.
- padding
- RSASignaturePadding
Doldurma.
Döndürülenler
true
imza geçerliyse; aksi takdirde , false
.
Özel durumlar
hashAlgorithm
veya Emptyşeklindedirnull
.
padding
eşit Pkcs1değildir.