En Java, je générer et sérialisation une clé symétrique pour le chiffrement:Java cryptographie généré portabilité clé
KeyGenerator keyGen = KeyGenerator.getInstance(algorithm);
SecretKey symmetricKey = keyGen.generateKey();
Base64.encode(symmetricKey.getEncoded(), new FileOutputStream(filename));
où base64 est du package de cryptographie bouncycastle et de l'algorithme AES est.
La clé, lorsqu'elle est utilisée avec Oracle (Sun) JVM 1.6.0_21, fonctionne parfaitement, par exemple Windows vers Linux (même entre des systèmes d'exploitation 32/64 bits).
Sous OS X (Intel), avec la JVM d'Apple, la clé est chargée sans exception mais chaque chaîne cryptée sous Windows ou Linux génère une exception BadPaddingException.
Une chaîne est codé avec le code suivant:
Cipher cipher = Cipher.getInstance(algorithm, "BC");
cipher.init(Cipher.ENCRYPT_MODE, secretKey);
encryptedString = new String(Base64.encode(cipher.doFinal(string.getBytes())));
où l'algorithme est AES.
Des indices?
J'ai ajouté le code de chiffrement à mon message d'origine. –