谈谈 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算法。最后特别感谢四川的徐工给予的帮助。
求工作!
博客园首发 菜鸟原创 转载请著名作者:青牛客