Hi, I'm trying to encrypt image files on Android with password based encryption. To save the encrypted image I just do this:
FileOutputStream fos = new FileOutputStream(thumbnailFile); CipherOutputStream cos = new CipherOutputStream(fos, encryptCipher); Bitmap thumbnail = Bitmap.createScaledBitmap(bm2, 140, 140, true); thumbnail.compress(Bitmap.CompressFormat.JPEG, 80, cos); and to read it, this: FileInputStream fis = new FileInputStream(f); CipherInputStream cis = new CipherInputStream(fis, decryptCipher); Bitmap b = BitmapFactory.decodeStream(cis); but the Bitmap ends up as null. The code works when I bypass the encryption; that is when I use the File(Input|Output)Streams rather than the Cipher(Input|Output)streams. My Ciphers are created as follows: public void initCiphers(char password[]) { PBEKeySpec pbeKeySpec; PBEParameterSpec pbeParamSpec; SecretKeyFactory keyFac; byte[] salt = { (byte)0xc7, (byte)0x73, (byte)0x21, (byte)0x8c, (byte)0x7e, (byte)0xc8, (byte)0xee, (byte)0x99 }; int count = 20; pbeParamSpec = new PBEParameterSpec(salt, count); pbeKeySpec = new PBEKeySpec(password); try { keyFac = SecretKeyFactory.getInstance("PBEWithMD5AndDES"); SecretKey pbeKey = keyFac.generateSecret(pbeKeySpec); encryptCipher = Cipher.getInstance("PBEWithMD5AndDES"); decryptCipher = Cipher.getInstance("PBEWithMD5AndDES"); encryptCipher.init(Cipher.ENCRYPT_MODE, pbeKey, pbeParamSpec); decryptCipher.init(Cipher.DECRYPT_MODE, pbeKey, pbeParamSpec); } catch (Exception e) { Log.v("tag", e.toString()); } } I don't get any exceptions. There is obviously some problem with using Cipher(Output|Input)Streams with the android functions for encoding and/or decoding images, but since those functions are opaque and there are no exceptions, its hard to know what it is. I suspect it has to do with padding or flushing. Any assistance would be gratefully appreciated. Matthew Fleming, MD DermVision, LLC -- You received this message because you are subscribed to the Google Groups "Android Developers" group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en