使用MD5WithRSA来签名和验签(.NET)

 1         /// <summary>
 2         /// 数字签名并返回BASE64编码的字符串
 3         /// </summary>
 4         /// <param name="contentForSign">待签名内容</param>
 5         /// <param name="privateKeyFile">私钥文件路径</param>
 6         /// <returns></returns>
 7         internal static string Sign(string contentForSign, string privateKeyFile)
 8         {
 9             var rsa = CcbRsaCryptProvider.GetInstanceForSign(privateKeyFile);
10             var signData = rsa.SignData(Encoding.UTF8.GetBytes(contentForSign), new MD5CryptoServiceProvider());
11             return Convert.ToBase64String(signData);
12         }
13 
14         /// <summary>
15         /// 验证签名
16         /// </summary>
17         /// <param name="contentForSign">待签名内容</param>
18         /// <param name="signedData">签名内容</param>
19         /// <param name="publicKeyFile">公钥文件路径</param>
20         /// <returns>验证结果</returns>
21         internal static bool VerifySign(string contentForSign, string signedData, string publicKeyFile)
22         {
23             var rsaPub = CcbRsaCryptProvider.GetInstanceForVerifySign(publicKeyFile);
24             return rsaPub.VerifyData(Encoding.UTF8.GetBytes(contentForSign), new MD5CryptoServiceProvider(), Convert.FromBase64String(signedData));
25         }
原文地址:https://www.cnblogs.com/frankyou/p/4663917.html