• C#下解析、生成JAVA的RSA密钥、公钥


    1.从 https://www.nuget.org/packages/BouncyCastle/下载对应的nupkg包,放到本地一个文件夹中

    2.打开VS2010,工具—>NuGet程序包管理器设置—>程序包管理器设置

    3.增加程序包源

    4.工具—>管理解决方案的程序包源,找到刚才新增加的程序包源名称,安装对应的程序包源即可

     5.安装之后,已经引入到该解决方案中

    6.代码如下:

     1   public string PrivateKeySignResult(string privateKey, string data)
     2       {
     3           string result = string.Empty;
     4   
     5           var rsa = new RSACryptoServiceProvider();
     6           RsaPrivateCrtKeyParameters privateKeyParam = (RsaPrivateCrtKeyParameters)PrivateKeyFactory.CreateKey(Convert.FromBase64String(privateKey)); 
     7           //RSA 私钥格式转换 
     8           privateKey = string.Format("<RSAKeyValue><Modulus>{0}</Modulus><Exponent>{1}</Expon ent><P>{2}</P><Q>{3}</Q><DP>{4}</DP><DQ>{5}</DQ><InverseQ>{6}</InverseQ><D>{ 7}</D></RSAKeyValue>",
     9           Convert.ToBase64String(privateKeyParam.Modulus.ToByteArrayUnsigned()),
    10           Convert.ToBase64String(privateKeyParam.PublicExponent.ToByteArrayUnsigned()),
    11           Convert.ToBase64String(privateKeyParam.P.ToByteArrayUnsigned()),
    12           Convert.ToBase64String(privateKeyParam.Q.ToByteArrayUnsigned()),
    13           Convert.ToBase64String(privateKeyParam.DP.ToByteArrayUnsigned()),
    14           Convert.ToBase64String(privateKeyParam.DQ.ToByteArrayUnsigned()),
    15           Convert.ToBase64String(privateKeyParam.QInv.ToByteArrayUnsigned()),
    16           Convert.ToBase64String(privateKeyParam.Exponent.ToByteArrayUnsigned()));
    17           //privateKey 为C# .net 格式使用的应用私钥 
    18           rsa.FromXmlString(privateKey);
    19           // data 为参数数据 
    20           byte[] signBytes = rsa.SignData(Encoding.UTF8.GetBytes(data), CryptoConfig.CreateFromName("SHA256")); // 得到 Base64 编码格式签名值,即接口请求参数中的 sign 值 
    21           result = Convert.ToBase64String(signBytes);
    22 
    23           return result;
    24       }
  • 相关阅读:
    Java语法基础-final关键字
    Java语法基础-异常处理
    Java语法基础-序列化
    Java的知识储备及面试-几个方面
    一篇分析测试开发人员的职业发展方向的好文章-学习笔记
    web 自动化测试 selenium基础到应用(目录)
    打包Scala jar 包的正确步骤
    IT项目管理
    寄存器 & 汇编指令
    Window环境下编写Shellcode(入门篇)
  • 原文地址:https://www.cnblogs.com/mengzhixingping/p/15320291.html
Copyright © 2020-2023  润新知