Le Chiffrement AES Java Invalide la longueur de la Clé

Je suis en train de créer une méthode de cryptage AES, mais pour une raison que je reçois

java.security.InvalidKeyException: Key length not 128/192/256 bits

Voici le code:

public static SecretKey getSecretKey(char[] password, byte[] salt) throws NoSuchAlgorithmException, InvalidKeySpecException{
    SecretKeyFactory factory = SecretKeyFactory.getInstance("PBEWithMD5AndDES");
    //NOTE: last argument is the key length, and it is 256
    KeySpec spec = new PBEKeySpec(password, salt, 1024, 256);
    SecretKey tmp = factory.generateSecret(spec);
    SecretKey secret = new SecretKeySpec(tmp.getEncoded(), "AES");
    return(secret);
}


public static byte[] encrypt(char[] password, byte[] salt, String text) throws NoSuchAlgorithmException, InvalidKeySpecException, NoSuchPaddingException, InvalidKeyException, InvalidParameterSpecException, IllegalBlockSizeException, BadPaddingException, UnsupportedEncodingException{
    SecretKey secret = getSecretKey(password, salt);

    Cipher cipher = Cipher.getInstance("AES");

    //NOTE: This is where the Exception is being thrown
    cipher.init(Cipher.ENCRYPT_MODE, secret);
    byte[] ciphertext = cipher.doFinal(text.getBytes("UTF-8"));
    return(ciphertext);
}

N'importe qui peut voir ce que je fais de mal? Je pense qu'il peut avoir quelque chose à voir avec la SecretKeyFactory algorithme, mais c'est le seul que je peux trouver est pris en charge sur le système final je suis encontre du développement. Toute aide serait appréciée. Merci.

Pouvez vous s'il vous plaît coller l'exception?
Il y a une réponse dans un précédent post ce lien. Espérons que cette aide!
donc, il semble que le java exemple ne prend pas en charge ce dont j'ai besoin: 'java.de sécurité.InvalidKeyException avec le message "Illégal taille de la clé ou les paramètres par défaut" '
Aussi, est-il une limitation sur le Chiffrement, ou le SecretKey?
Même si cela peut théoriquement répondre à la question, il serait préférable pour inclure l'essentiel des éléments de réponse ici, et de fournir le lien de référence.

OriginalL'auteur wuntee | 2010-04-02