http://www.vbgood.com/attachment.php?aid=30360&k=3c6721cbcec61957d2b572fb3c19c8ad&t=1255002284&fid=9&sid=a341ghpwZBxsuMwrcQtUusBM6lJCLmPt02Nk3ccqSKdxY2U
这个地址是JAVA的加密算法,谁会把他搞到VB上?

解决方案 »

  1.   

    好像是不可以用的。你可以把Java的思路用VB實現吧。
      

  2.   

    vb也有加密算法,google搜索很多
      

  3.   

    那个链接需要登录呀~~~~~~~“JAVA的代码和控件”,有用 Java 语言开发出来的控件吗?要真是标准的控件,VB 也能正常引用啊。如果是 Java 语言的源代码,应该都可以‘翻译’成 VB 的。
      

  4.   

    有兴趣看一下,不知能不能看懂~~~~~  不过如果代码较多的话,可能没那么多时间给你弄。楼主可以发给我看一下吗,我的 Email:
    [email protected]
      

  5.   

    JAVA是没有标准控件的,不管是j2se还是j2ee,java中只存在sevlet,javabean并没有提到过控件的概念库是库,控件是控件,二者并不是同一种东西
      

  6.   

    看了 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 包中使用的类方法完全对不上号。
      

  7.   

    我前天晚上在这个贴子的回复怎么没有呢..........我有个想法是:
      用 Shell +DOS输出重定向,把 .class文件的输出写入磁盘文件,VB再从这个文件中读取输出结果。用这种方法就不去管那些类是如何实现的了。  但这种方法需要Java的运行环境支持。  如果楼主应得这样可行的话,我可以把 Java 代码改一下,你自己编译出 .class 文件,这样就可以在 VB 中通过 shell 进行调用了。
      

  8.   

    Java 代码中引用了 sun.misc.* 中的类,好象要有 J2SE 或 J2EE 的开发环境才能编译。
      

  9.   

    Chen8013的思路很好,以前我就这样做过,安装一下j2ee