c#调用java

1.遇到的项目场景是,要跟一个用.net语言开发的系统进行接口调用,要用到sm4的加密算法,一开始的时候解决办法是用java调用c++,然后c++调用c#的代码,在windows系统下可以实现双方的加密和解密保持

一致,但是我们系统的服务器是linux系统,在linux系统下不支持调用c#语言的dll文件所以部署到服务器上就不能使用了

2.采取的办法是通过c#调用java的方法,应为java是跨平台的开发语言

3.实现方式:

通过网上查找找到一种通过将java的方法打成jar包然后将jar转化成dll文件然后再让c#将dll引入这样就可实现调用了!

采用的工具是ikVM  (https://www.cnblogs.com/hxh88/p/5904909.html)

具体方法是下载IKVM

然后解压进入bin目录下,打开cmd窗口执行

ikvmc-out: 例子.dll   例子目录/例子.jar

然后打好的。dll文件就在bin目录下

然后C#项目引入是也要讲bin目录下的三个dll文件引入,包括:IKVM.OpenJDK.Core.dll    IKVM.Runtime.dll IKVM.Runtime.JNI.dll

在c#直接用usring 包名即可

原文地址:https://www.cnblogs.com/wangjiec/p/9708172.html