RSACryptoServiceProvider.VerifyHash 메서드

정의

디지털 서명이 유효한지 확인합니다.

오버로드

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

제공된 공개 키를 사용하여 서명의 해시 값을 확인하고 제공된 해시 값과 비교하여 디지털 서명이 유효한지 확인합니다.

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

지정된 해시 알고리즘 및 패딩을 사용하여 서명의 해시 값을 확인하고 제공된 해시 값과 비교하여 디지털 서명이 유효한지 확인합니다.

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

Source:
RSACryptoServiceProvider.Unix.cs
Source:
RSACryptoServiceProvider.Unix.cs
Source:
RSACryptoServiceProvider.Unix.cs
Source:
RSACryptoServiceProvider.Unix.cs
Source:
RSACryptoServiceProvider.Unix.cs

제공된 공개 키를 사용하여 서명의 해시 값을 확인하고 제공된 해시 값과 비교하여 디지털 서명이 유효한지 확인합니다.

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

매개 변수

rgbHash
Byte[]

서명된 데이터의 해시 값입니다.

str
String

데이터의 해시 값을 만드는 데 사용되는 OID(해시 알고리즘 식별자)입니다.

rgbSignature
Byte[]

확인할 서명 데이터입니다.

반품

true서명이 유효한 경우 그렇지 않으면 . false

예외

매개 변수는 rgbHash .입니다 null.

-또는-

매개 변수는 rgbSignature .입니다 null.

CSP(암호화 서비스 공급자)를 가져올 수 없습니다.

-또는-

서명을 확인할 수 없습니다.

예제

다음 예제에서는 메서드를 사용하여 VerifyHash 서명을 확인하는 방법을 보여줍니다. 이 코드 예제는 메서드에 제공된 더 큰 예제의 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);
}
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

설명

이 메서드는 메서드에서 RSA 생성된 디지털 서명을 확인합니다 SignHash . 서명된 공개 키를 사용하여 서명에서 해시 값을 가져오고 해당 값을 제공된 데이터의 해시 값과 비교하여 서명을 확인합니다.

유효한 해시 알고리즘은 다음과 SHA1같습니다MD5. 알고리즘 식별자는 메서드를 사용하여 MapNameToOID 해시 이름에서 파생될 수 있습니다.

SHA-1 및 MD5의 충돌 문제로 인해 Microsoft는 SHA-256 이상에 기반한 보안 모델을 권장합니다.

추가 정보

적용 대상

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

Source:
RSACryptoServiceProvider.Unix.cs
Source:
RSACryptoServiceProvider.Unix.cs
Source:
RSACryptoServiceProvider.Unix.cs
Source:
RSACryptoServiceProvider.Unix.cs
Source:
RSACryptoServiceProvider.Unix.cs

지정된 해시 알고리즘 및 패딩을 사용하여 서명의 해시 값을 확인하고 제공된 해시 값과 비교하여 디지털 서명이 유효한지 확인합니다.

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

매개 변수

hash
Byte[]

서명된 데이터의 해시 값입니다.

signature
Byte[]

확인할 서명 데이터입니다.

hashAlgorithm
HashAlgorithmName

해시 값을 만드는 데 사용되는 해시 알고리즘 이름입니다.

padding
RSASignaturePadding

패딩입니다.

반품

true서명이 유효한 경우 그렇지 않으면 . false

예외

hashAlgorithm is null 또는 Empty.

hashnull입니다.

-또는-

paddingnull입니다.

padding 가 같지 Pkcs1않습니다.

적용 대상