M
Manuela
Gast
Hallo ich habe ein Problem,
und komme nicht klar.
das ist meine Fehlermeldung
und der code sieht so aus.
was sehr seltsam ist das es in der Entwicklungsumbgebung(NetBeans6.1) ohne Probleme läuft.
nur wenn ich es als .Jar laufen lasse geht es nicht mehr und es kommt der obenbeschriebene Fehler.
Gruß Manuela
und komme nicht klar.
das ist meine Fehlermeldung
java.lang.NoClassDefFoundError: javax/crypto/spec/PBEParameterSpec
at server.schluss.Verschluss.init(Verschluss.java:54)
und der code sieht so aus.
Code:
import javax.crypto.*;
import javax.crypto.spec.*;
public class Verschluss {
final private transient static String password = "jeLaengerJeBesserPasswort";
final public transient byte [] salt = { (byte) 0xc9, (byte) 0xc9,(byte) 0xc9,(byte) 0xc9,(byte) 0xc9,(byte) 0xc9,(byte) 0xc9,(byte) 0xc9};
final public int iterations = 3;
protected Verschluss() {
// java.security.Security.addProvider(new com.sun.crypto.provider.SunJCE()); // implizit bereits erledigt!
}
/** instance */
private static Verschluss instance;
/** Singleton Factory
* @return instance
*/
public static Verschluss getInstance () {
if (instance == null) {
instance = new Verschluss ();
}
return instance;
}
/** Notwendige Instanczen */
private Cipher encryptCipher;
private Cipher decryptCipher;
private sun.misc.BASE64Encoder encoder = new sun.misc.BASE64Encoder();
private sun.misc.BASE64Decoder decoder = new sun.misc.BASE64Decoder();
/** Verwendete Zeichendecodierung */
private String charset = "UTF16";
/**
* Initialisiert den Verschlüsselungsmechanismus
* @param pass char[]
* @param salt byte[]
* @param iterations int
* @throws SecurityException
*/
public void init (final char[] pass, final byte[] salt, final int iterations) throws SecurityException {
try {
-->> Hier ist die zeile 54 PBEParameterSpec ps = new PBEParameterSpec(salt, 25);
final SecretKeyFactory kf = SecretKeyFactory.getInstance("PBEWitndDES");
final SecretKey k = kf.generateSecret(new PBEKeySpec(pass));
encryptCipher = Cipher.getInstance("PBEMD5AndDES/CBC/PKPadding");
encryptCipher.init (Cipher.ENCRYPT_MODE, k, ps);
decryptCipher = Cipher.getInstance("PBEMD5AndDES/CBC/PKPadding");
decryptCipher.init (Cipher.DECRYPT_MODE, k, ps);
}
catch (Exception e) {
throw new SecurityException("Could not initialize CryptoLibrary: " +
e.getMessage());
}
}
was sehr seltsam ist das es in der Entwicklungsumbgebung(NetBeans6.1) ohne Probleme läuft.
nur wenn ich es als .Jar laufen lasse geht es nicht mehr und es kommt der obenbeschriebene Fehler.
Gruß Manuela