Tag: .net

Java BigInteger与Mono .net BigInteger

我在.Net项目中使用BigInteger的单声道实现( 链接 )在Java中我使用java.math.BigInteger。 相同的代码在Java中产生不同的结果。 .Net代码 String inputBytes = “8E5BD77F0DCC30864634C134E28BFB42A149675A320786B616F4530708350D270353C30A40450325801B7AFED12BCCA274B8187072A89CC0CC3F95A24A8251243C1835898246F4D64CA3AC61DB841518F0E8FBC8996A40EB626153AE7F0BB87FD713FAC522719431428DE178E780A3FA45788A72C431926AED990E6DA268D2CC”; String modulus = “00e6b4b4511e0bd1b3d9c82ee189ba6d0c70b1466d94126f99a741af99a92701a789451742a357ddb61a4dea409965ec58dcaa5e30826de871b04700ed0fd46b1693446049734e8f95faba2bf9301347e63ba1771650e71982adef0cca6890b6f7baa7f5421a6533652f4b70c3c4270c480cf54cc06635f22901a42716d1dadf4f”; String exp = “010001”; BigInteger mModulus = new BigInteger(hexStringToByteArray(modulus)); BigInteger mExponent = new BigInteger(hexStringToByteArray(exp)); BigInteger input = new BigInteger(hexStringToByteArray(inputBytes)); BigInteger output = input.ModPow(mExponent, mModulus); Console.WriteLine(“==RESULT==” + byteArray2Hex(output.GetBytes())); public static byte[] hexStringToByteArray(string hexString) { if (hexString.Length % 2 != 0) throw new ArgumentException(String.Format(CultureInfo.InvariantCulture, […]

在Java中有类似Enumerable.Range(x,y)的东西吗?

有没有类似C#/ .NET的东西 IEnumerable range = Enumerable.Range(0, 100); //.NET 在Java?

使用Java代码访问.NET dll的方法

我有一个DLL,即使用.NET创建的product.dll 。 如何使用Java代码访问该dll的构造函数或方法。 是否可以在不使用JNI的情况下访问?

如何将私钥文件从Java转换为.net x509Certificate2

我正在编写一个.NET客户端应用程序,它使用Java Web服务并需要签署已发送的请求(与此其他问题相关 )。 我已经提供了private.key文件(和.X509证书)和Java源代码示例。 证书看起来像服务的公钥,private.key是我用来签署请求的。 在Java源代码中,我可以看到它们将文件转换为字节数组并将其传递给PKCS8EncodedKeySpec类的构造函数。 一些谷歌搜索表明这个文件是私钥哈希(虽然我可能是错的)。 有没有办法在.Net中使用它或将其转换为.Net可以使用的东西? 此链接提到转换公钥/私钥,但我没有,或者它是否有效。 有没有人有更多的信息可供使用? 比如这个文件究竟是什么? 如果我将其作为字节数组读入并将其转换为字符串,我会加载HEX(例如AA-BB-06等),但无论我使用何种编码,我都无法将其转换为任何有用的内容。 该文档表明它符合PKCS#8标准。 我试过(由@gtrig建议)命令: openssl rsa -in pkcs8privatekey.der -inform der -out privatekey.pem 但这给了我以下内容: unable to load Private Key 32096:error:0D0680A8:asn1 encoding routines:ASN1_CHECK_TLEN:wrong tag:tasn_dec.c:1306: 32096:error:0D06C03A:asn1 encoding routines:ASN1_D2I_EX_PRIMITIVE:nested asn1 error:tasn_dec.c:830: 32096:error:0D08303A:asn1 encoding routines:ASN1_TEMPLATE_NOEXP_D2I:nested asn1 error:tasn_dec.c:749:Field=n, Type=RSA 32096:error:0D09A00D:asn1 encoding routines:d2i_PrivateKey:ASN1 lib:d2i_pr.c:99: 我也遇到类似NET和PEM -inform args的错误。 和: openssl asn1parse -in private.key […]

CLR / JVM是否为所有正在运行的.net / java应用程序保留一个单一的实习池?

以下是MSDN的摘录: 公共语言运行库通过维护一个名为intern pool的表来保存字符串存储,该表包含对程序中以编程方式声明或创建的每个唯一文字字符串的单个引用。 因此,具有特定值的文字字符串实例仅在系统中存在一次。 例如,如果将相同的文字字符串分配给多个变量,则运行时将从实习池中检索对文字字符串的相同引用,并将其分配给每个变量。 Intern方法使用实习池来搜索等于str值的字符串。 如果存在此类字符串,则返回其在实习池中的引用。 如果该字符串不存在,则将对str的引用添加到实习池中,然后返回该引用。 ….如果您正在尝试减少应用程序分配的内存总量,请记住,实习字符串有两个不需要的副作用。 首先,在公共语言运行时(CLR)终止之前,不太可能释放为被占用的String对象分配的内存。 那么,这是否意味着CLR为所有正在运行的.net应用程序保留一个单一的实习池? 示例:如果程序A创建字符串文字“Test”,并且如果另一个程序尝试创建另一个字符串文字“Test”,则使用相同的副本? 同样的问题也适用于JVM。

.NET与Java之间子串操作性能的比较

获取字符串的子字符串是一种非常常见的字符串操作操作,但我听说Java和.NET平台之间的性能/实现可能存在很大差异。 具体来说,我听说在Java中, java.lang.String为substring提供了常量时间操作,但在.NET中, System.String提供了线性性能Substring 。 这些真的是这样吗? 可以在文档/源代码等中确认吗? 此实现是特定的,还是由语言和/或平台指定的? 每种方法的优缺点是什么? 一个人从一个平台迁移到另一个平台应该寻求什么来避免陷入任何性能陷阱?

为什么.NET不会从Web服务反序列化我的原始数组?

救命! 我有一个由C#应用程序使用的Axis Web服务。 一切都很好,除了长值数组总是遇到[0,0,0,0] – 正确的长度,但值不反序列化。 我尝试过其他原语(整数,双打),同样的事情发生了。 我该怎么办? 我不想改变我的服务的语义。

为什么HttpRequest.HttpMethod是字符串而不是枚举?

在.NET Framework 的HttpRequest.HttpMethod参考中 ,请求类型使用System.String类型声明。 在RFC 2616中声明了所有HTTP请求方法(例如POST,GET,PUT,DELETE ……)。 在HttpWebRequest和.NET的WebRequest类中也有类似的行为。 Java在HttpURLConnection#setRequestMethod(String)方法上有类似的方法。 为什么这些语言设计者不考虑为这些HTTP方法实现枚举? 你有好主意吗?

在Java中使用.NET的WebClient和HttpWebRequest等同于什么?

.NET有HttpWebRequest和WebClient来模拟浏览器的请求。 我会谷歌,但我不确定使用什么关键字。 我想在applet或本地jar中编写执行HTTP GET和POST以及cookie的代码,并以文本字符串或其他一些可解析结构的forms返回响应。

如何使用IKVM com创建.dll?

我已经看过几篇post,但到目前为止我还没有看到任何解决方案。 我有一个.jar文件,我通过IKVM转换为.NET DLL。 我正在试图弄清楚如何在excel VBA环境中使DLL中的方法可用。 这是细节。 1.)安装了IKVM并将其DLL注册到GAC 2.)运行IKVM以创建.net .dll(mytest.dll) ikvmc mytest.jar 3.)注册了新的.dll regasm mytest.dll 4.)从这里我创建了一个VB.NET项目,并添加了mytest.dll和IKVM.OpenJDK.Core.dll作为项目的引用。 然后,我可以访问.NET中的.dll中的方法。 这很棒! 5.)我真正想做的是能够在VBA中使用.dll。 最初vba不会直接接受.dll,因为它是.net库。 我试图创建一个类型库: regasm /codebase /tlb mytest.dll 这创建了一个很好的.tlb文件,但它确实发出了关于库没有强命名的警告。 6.)然后我在我的vba编辑器中加载.tlb作为参考。 这是有效的,但是当我尝试访问方法时,没有任何显示。 同样,如果我查看我的库的对象查看器,我可以看到我的两个类,但不能看到这些类的成员。 另外,我想我也可能需要以某种方式引用VBA中的IKVM.OpenJDK.Core.dll。 但是我不能这样做,因为它是.NET .dll。 有没有人成功将.jar文件转换为可以与VBA一起使用的东西?