VB可以用JAVA的代码和控件吗? http://www.vbgood.com/attachment.php?aid=30360&k=3c6721cbcec61957d2b572fb3c19c8ad&t=1255002284&fid=9&sid=a341ghpwZBxsuMwrcQtUusBM6lJCLmPt02Nk3ccqSKdxY2U这个地址是JAVA的加密算法,谁会把他搞到VB上? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 好像是不可以用的。你可以把Java的思路用VB實現吧。 vb也有加密算法,google搜索很多 那个链接需要登录呀~~~~~~~“JAVA的代码和控件”,有用 Java 语言开发出来的控件吗?要真是标准的控件,VB 也能正常引用啊。如果是 Java 语言的源代码,应该都可以‘翻译’成 VB 的。 有兴趣看一下,不知能不能看懂~~~~~ 不过如果代码较多的话,可能没那么多时间给你弄。楼主可以发给我看一下吗,我的 Email:[email protected] JAVA是没有标准控件的,不管是j2se还是j2ee,java中只存在sevlet,javabean并没有提到过控件的概念库是库,控件是控件,二者并不是同一种东西 看了 Java 代码了,不过让你失望了: 这个“翻译”起来难度很大啊。 把 Java 导入一个测试工程中,运行时抛出异常,无法正常运行。但那个批处理文件在DOS控制台下可以运行并输出结果。 最主要的是,它引用了好几个 Java 开发包中提供的类方法,如果要翻译成 VB 代码,还要查一下它们的具体实现过程,把这些过程用 VB 代码重写。这些类不用 VB 写出来,它们相应的方法就无法实现。举个例子:PBEParameterSpec pbeparameterspec = new PBEParameterSpec(_fldint,19);构造方法摘要:PBEParameterSpec(byte[] salt, int iterationCount) 为 PKCS #5 标准中所定义的基于密码的加密法构造一个参数集合后面又要用到这个对象作为另一个对象的构造参数:javax.crypto.SecretKey secretkey = secretkeyfactory.generateSecret(pbekeyspec);其中还有这样的代码:///_mthnew加密public synchronized native static byte[] mthdo(byte abyte0[], int i, String s) throws InternalError;///_mthif 解密public synchronized native static byte[] mthfor(byte abyte0[], int i, String s) hrows InternalError;public synchronized native byte[] mthif(byte abyte0[], String s) throws InternalError;///注册加密public synchronized native static byte[] mthnew(byte abyte0[], int i, String s) throws InternalError;public synchronized native byte[] mthtry(byte abyte0[], byte abyte1[], byte abyte2[], byte abyte3[], String s) throws InternalError;public synchronized native boolean mthbyte(byte abyte0[], byte abyte1[], byte abyte2[], byte abyte3[], String s) throws InternalError;这些不是 Java 开发包中的类方法,只有方法的声明,没有具体的实现,估计应该是在 a.dll 中实现的。这样在 VB 代码中进行相应的声明就行了。当然,在 Crypto.dll 中也许把 javax.crypto.* 中要用到的类实现了。如果是这样的话,“翻译”难度就小得多了,关键点就在 sun.misc.BASE64Decoder 和 sun.misc.BASE64Encoder 上了。需要说明的是:Crypto.dll 的开发语言不明,有“MZ”标记,估计是用汇编语言写的,但没找到与 Java 中 crypto 相关的信息。在 libeay32.dll 中能够找到一些相似的,但与 Java 包中使用的类方法完全对不上号。 我前天晚上在这个贴子的回复怎么没有呢..........我有个想法是: 用 Shell +DOS输出重定向,把 .class文件的输出写入磁盘文件,VB再从这个文件中读取输出结果。用这种方法就不去管那些类是如何实现的了。 但这种方法需要Java的运行环境支持。 如果楼主应得这样可行的话,我可以把 Java 代码改一下,你自己编译出 .class 文件,这样就可以在 VB 中通过 shell 进行调用了。 Java 代码中引用了 sun.misc.* 中的类,好象要有 J2SE 或 J2EE 的开发环境才能编译。 Chen8013的思路很好,以前我就这样做过,安装一下j2ee VB高手问题:如何用CommonDialog来设置WebBrowser编辑状态的字体? 实时错误 "1309"是什么错误,都没有错误描述 数组问题,以前的回复都错了!(难度增加一点) 如何让空间居中,并且不可移动? 用户怎样可以修改报表的格式及内容? 下拉选择框的问题 谁能告诉我vb和java之间的不同. 我在公用模块中加入下列代码,却没有实现他的功能?? 我的眼睛都睁不开了,如何写程序!让程序每隔5S做一件事!100分!算是我的圣诞大礼吧! //请教ComboBox中增加内容/// 求建材检测管理系统源代码 请问怎么也把这句用在C#声明调用代码改成PB能用的代码?
[email protected]
PBEParameterSpec pbeparameterspec = new PBEParameterSpec(_fldint,19);
构造方法摘要:
PBEParameterSpec(byte[] salt, int iterationCount) 为 PKCS #5 标准中所定义的基于密码的加密法构造一个参数集合后面又要用到这个对象作为另一个对象的构造参数:
javax.crypto.SecretKey secretkey = secretkeyfactory.generateSecret(pbekeyspec);其中还有这样的代码:///_mthnew加密
public synchronized native static byte[] mthdo(byte abyte0[], int i, String s) throws InternalError;
///_mthif 解密
public synchronized native static byte[] mthfor(byte abyte0[], int i, String s) hrows InternalError;
public synchronized native byte[] mthif(byte abyte0[], String s) throws InternalError;
///注册加密
public synchronized native static byte[] mthnew(byte abyte0[], int i, String s) throws InternalError;
public synchronized native byte[] mthtry(byte abyte0[], byte abyte1[], byte abyte2[], byte abyte3[], String s) throws InternalError;
public synchronized native boolean mthbyte(byte abyte0[], byte abyte1[], byte abyte2[], byte abyte3[], String s) throws InternalError;这些不是 Java 开发包中的类方法,只有方法的声明,没有具体的实现,估计应该是在 a.dll 中实现的。
这样在 VB 代码中进行相应的声明就行了。当然,在 Crypto.dll 中也许把 javax.crypto.* 中要用到的类实现了。如果是这样的话,“翻译”难度就小得多了,关键点就在 sun.misc.BASE64Decoder 和 sun.misc.BASE64Encoder 上了。需要说明的是:Crypto.dll 的开发语言不明,有“MZ”标记,估计是用汇编语言写的,但没找到与 Java 中 crypto 相关的信息。在 libeay32.dll 中能够找到一些相似的,但与 Java 包中使用的类方法完全对不上号。
用 Shell +DOS输出重定向,把 .class文件的输出写入磁盘文件,VB再从这个文件中读取输出结果。用这种方法就不去管那些类是如何实现的了。 但这种方法需要Java的运行环境支持。 如果楼主应得这样可行的话,我可以把 Java 代码改一下,你自己编译出 .class 文件,这样就可以在 VB 中通过 shell 进行调用了。