System.Security.Cryptography.RSACryptoServiceProvider.VerifyData C# (CSharp) Method

VerifyData() public method

Verifies the signature of a hash value.
public VerifyData ( byte buffer, object halg, byte signature ) : bool
buffer byte
halg object
signature byte
return bool
        public bool VerifyData(byte[] buffer, object halg, byte[] signature)
        {
            int calgHash = CapiHelper.ObjToHashAlgId(halg);
            HashAlgorithm hash = CapiHelper.ObjToHashAlgorithm(halg);
            byte[] hashVal = hash.ComputeHash(buffer);
            return VerifyHash(hashVal, calgHash, signature);
        }

Usage Example

Example #1
0
        public static bool VerifyLicense(string licenseTo, string licenseKey)
        {
            AssertKeyIsNotBanned(licenseKey);

            const string modulusString =
                "vBgOPQiBhRR22ClUzIBJCmxcaOWfuAweUNpodRuZWDn8whviOe4JdA/sjzqw54KGh1qHJIc7JY5sGTCxNZQiSuyZQ6iHK2ykmU0Yb+QBvbqG33x2R7Di8MoNA1Tv2fX7SSny++IKEOQEEvwYhYr6oRU8sVItMcybUjiaaSw1rbU=";
            const string exponentString = "AQAB";

            var data = Encoding.UTF8.GetBytes(licenseTo);

            var rsaParameters = new RSAParameters
            {
                Modulus  = Convert.FromBase64String(modulusString),
                Exponent = Convert.FromBase64String(exponentString)
            };

#if STANDARD
            using (var rsa = System.Security.Cryptography.RSA.Create())
#else
            using (var rsa = new System.Security.Cryptography.RSACryptoServiceProvider())
#endif
            {
                var licenseData = Convert.FromBase64String(licenseKey);
                rsa.ImportParameters(rsaParameters);

                bool verified = false;

#if STANDARD
                verified = rsa.VerifyData(data, licenseData, HashAlgorithmName.SHA256, RSASignaturePadding.Pkcs1);
#else
                verified = rsa.VerifyData(data, CryptoConfig.MapNameToOID("SHA256"), licenseData);
#endif
                return(verified);
            }
        }
All Usage Examples Of System.Security.Cryptography.RSACryptoServiceProvider::VerifyData