使用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 }
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步