谈谈 BouncyCastleNet .net实现java的MD5WITHRSA 算法。实现.net与java的对接。

             一:   MD5WITHRSA是神马东东

                它是签名效验程序。它是RSA与MD5结合后的优良种子,它配合SSL使用,采用私钥加密公钥解密来确保信息的一致性和完整性。也是目前中国各大银行比较流行的一种签名效验方式。在每次客户端与服务端的通讯中,客户端都需要传递一份经过MD5WITHRSA算法处理过的密文,然后服务端检验是否正确,从而判断此次通讯是否是真实的。net本身没有提供该程序的算法。可依靠第三方插件BouncyCastleNet 实现。DLL可在官网下载。

             二:   MD5WITHRSA如何使用

              BouncyCastleNet DLL其实提供很多算法。MD5WITHRSA只是其中的一种。

              1,创建签名处理程序对象并制定算法MD5WITHRSA

                  var sig = SignerUtilities.GetSigner("MD5WithRSAEncryption");  

              2,创建密钥对象

                    var pari= new AsymmetricCipherKeyPair(pubKey, privateKey);    

              3,实施签名

          sig.Init(true, keyPair.Private); 如果ture改成flase Private 改成pubKey 就是解密
          g.BlockUpdate(data, 0, data.Length);

         大致的步骤就是这样。具体的源代码可以查考BouncyCastleNet的例子。

            

          在于银联的项目中是商户自己实现签名的。服务端没有提供接口。BouncyCastleNet是可以实现java的  标准的MD5WITHRSA算法。最后特别感谢四川的徐工给予的帮助。   

          求工作! 

         博客园首发 菜鸟原创 转载请著名作者:青牛客

            

posted @ 2012-04-25 11:16  青牛客  阅读(2314)  评论(3编辑  收藏  举报