Шифровать только содержимое файла изображения, а не весь файл

Я создаю приложение, и мне нужно кодировать только содержание изображения. Мне нужно, чтобы файл был еще изображением после преобразования, но показанное изображение не показывалось как оригинал.

Например, я отправлю изображение в зашифрованном виде другому пользователю, и этот сможет показать и изображение (но не оригинал), но исходное изображение было зашифровано в этом файле.

С помощью следующего алгоритма я зашифровал весь файл, и его нельзя открыть как изображение, так как заголовок также зашифрован.

Я использую этот алгоритм, но я не знаю, как только зашифровать данные или как добавить / изменить заголовки изображения в java / android:

public byte[] encrypt_image(Bitmap bm, String password_) {

    byte[] encryptedData = null;

    try{
        ByteArrayOutputStream baos = new ByteArrayOutputStream();  
        bm.compress(Bitmap.CompressFormat.PNG, 100, baos);
        byte[] b = baos.toByteArray();  

        byte[] keyStart = password_.getBytes();
        KeyGenerator kgen = KeyGenerator.getInstance("AES");
        SecureRandom sr = SecureRandom.getInstance("SHA1PRNG", "Crypto");
        sr.setSeed(keyStart);
        kgen.init(128, sr); 
        SecretKey skey = kgen.generateKey();
        byte[] key = skey.getEncoded();    

        // Encrypt
        encryptedData = Security.encrypt(key,b);


    }catch (Exception e) {
        Log.e("encrpyt_image()", e.getMessage());
    }
    return encryptedData;
}

У любого есть идея о том, как это кодифицировать, я искал в интернете безуспешно.

Ответы на вопрос(1)

Ваш ответ на вопрос