zoukankan      html  css  js  c++  java
  • 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
  • 相关阅读:
    babel的使用及安装配置
    npm install卡顿问题
    盒模型
    安全性
    字符串方法
    vue
    CSS3
    重载运算符
    装箱拆箱
    模板库
  • 原文地址:https://www.cnblogs.com/prolion/p/3770642.html
Copyright © 2011-2022 走看看