RSA加密(跨平台通用的)

 1      /// <summary>
 2         /// RSA加密
 3         /// </summary>
 4         /// <param name="strPublickey"></param>
 5         /// <param name="content"></param>
 6         /// <returns></returns>
 7         public string RsaEncrypt(string strPublickey, string content)
 8         {
 9             var rsa = new RSACryptoServiceProvider();
10             var param = new RSAParameters();
11             byte[] bdata = GetBytes("65537");
12             param.Exponent = bdata;
13             param.Modulus = GetBytes(strPublickey);
14             rsa.ImportParameters(param);
15 
16             byte[] cipherbytes = rsa.Encrypt(Encoding.UTF8.GetBytes(content),false);
17 
18             return BitConverter.ToString(cipherbytes).Replace("-", string.Empty);
19         }
20 
21         public byte[] GetBytes(String num)
22         {
23             BigInteger n = new BigInteger(num, 10);
24             String s = n.ToString(2);
25             if (s.Length % 8 > 0)
26             {
27                 s = new String('0', 8 - s.Length % 8) + s;
28             }
29             byte[] data = new byte[s.Length / 8];
30             String ocetstr;
31             for (int i = 0; i < data.Length; i++)
32             {
33                 ocetstr = s.Substring(8 * i, 8);
34                 data[i] = Convert.ToByte(ocetstr, 2);
35             }
36             return data;
37         }
       调用方式
       var result = new BigInteger(pubkey, 16);
           String sp = RsaEncrypt(string.Format("{0}", result), message);
       BigInteger下载地址
       http://www.codeproject.com/Articles/2728/C-BigInteger-Class

 

转载于:https://www.cnblogs.com/prolion/p/3770642.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值