首页新闻找找看学习计划

已经给出了Java的RSA签名算法,求.NET所对应的RSA签名算法

0
悬赏园豆:5 [已解决问题] 解决于 2016-10-08 15:53

已经给出了Java的签名算法如图所示,求.NET所对应的签名算法

David.Meng的主页 David.Meng | 初学一级 | 园豆:8
提问于:2016-10-08 13:04
< >
分享
最佳答案
0
System.Security.Cryptography.RSACryptoServiceProvider rsa = objx5092.PrivateKey.KeyExchangeAlgorithm;
                byte[] data = Encoding.ASCII.GetBytes(keyf);
                byte[] signature = System.Convert.FromBase64String(prikey);
                rsa.VerifyData(data, "MD5", signature);

大体这样吧。上面的就是RSA算法,直接RSACryptoServiceProvider 即可。

收获园豆:5
````` | 专家六级 |园豆:14268 | 2016-10-08 15:35

我已经解决了,如下所示,和问题中的Java签名一样,不过还是把分给你吧!
/// <summary>
/// 用非对称私钥签名
/// </summary>
/// <param name="privateKeyXml">私钥的xml</param>
/// <param name="data">明文</param>
/// <returns>签名的base64字符串</returns>
public static string SignData(string privateKeyXml, string data)
{
RSACryptoServiceProvider rsa = new RSACryptoServiceProvider();
rsa.FromXmlString(privateKeyXml);

byte[] signData = rsa.SignData(Encoding.UTF8.GetBytes(data),CryptoConfig.MapNameToOID("MD5"));
string sign64 = Convert.ToBase64String(signData);


return sign64;
}

David.Meng | 园豆:8 (初学一级) | 2016-10-08 15:52
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册