applet加密板块问题
在myeclipse内调试时不会报错,但是把applet放到页面上,就会报这个错!
applet加密代码:
try {   
            Cipher cipher = Cipher.getInstance("RSA",new org.bouncycastle.jce.provider.BouncyCastleProvider());   
            cipher.init(Cipher.ENCRYPT_MODE, pk);   
            
            this.showDialog(nameStr);
            
            int blockSize = cipher.getBlockSize();// 获得加密块大小,如:加密前数据为128个byte,而key_size=1024   
            // 加密块大小为127   
            // byte,加密后为128个byte;因此共有2个加密块,第一个127   
            // byte第二个为1个byte   
            int outputSize = cipher.getOutputSize(data.length);// 获得加密块加密后块大小   
            int leavedSize = data.length % blockSize;   
            int blocksSize = leavedSize != 0 ? data.length / blockSize + 1  
                    : data.length / blockSize;   
            byte[] raw = new byte[outputSize * blocksSize];   
            
            this.showDialog(String.valueOf(outputSize)+"|"+String.valueOf(leavedSize));
            
            int i = 0;   
            while (data.length - i * blockSize > 0) {   
                if (data.length - i * blockSize > blockSize)   
                    cipher.doFinal(data, i * blockSize, blockSize, raw, i   
                            * outputSize);   
                else  
                    cipher.doFinal(data, i * blockSize, data.length - i   
                            * blockSize, raw, i * outputSize);   
                // 这里面doUpdate方法不可用,查看源代码后发现每次doUpdate后并没有什么实际动作除了把byte[]放到   
                // ByteArrayOutputStream中,而最后doFinal的时候才将所有的byte[]进行加密,可是到了此时加密块大小很可能已经超出了   
                // OutputSize所以只好用dofinal方法。   
  
                i++;   
            }                
            rsaName=raw;  
            this.showDialog(rsaName.toString());
        } catch (Exception e7) {   
         e7.printStackTrace();   
        }
页面上报错
java.lang.NoClassDefFoundError: org/bouncycastle/jce/provider/BouncyCastleProvider
at java.lang.Class.getDeclaredConstructors0(Native Method)
at java.lang.Class.privateGetDeclaredConstructors(Unknown Source)
at java.lang.Class.getConstructor0(Unknown Source)
at java.lang.Class.newInstance0(Unknown Source)
at java.lang.Class.newInstance(Unknown Source)
at sun.applet.AppletPanel.createApplet(Unknown Source)
at sun.plugin.AppletViewer.createApplet(Unknown Source)
at sun.applet.AppletPanel.runLoader(Unknown Source)
at sun.applet.AppletPanel.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
为什么这样啊???????
急急!!!!!!!

解决方案 »

  1.   

    java.lang.NoClassDefFoundError: org/bouncycastle/jce/provider/BouncyCastleProvider 
    是不是没有导包啊
      

  2.   

    我导了呀!!!!import org.bouncycastle.jce.provider.BouncyCastleProvider;
      

  3.   

    没人知道吗??????
    唉,算了!!!
    Cipher cipher = Cipher.getInstance("RSA")
    这么来吧!!!
      

  4.   

    jar加载错误了。重新加载或者clean