Verschlüsselung von video-Dateien?

Bin ich mit dieser Methode für die Verschlüsselung einer video-Datei:

public static void encryptToBinaryFile(String password, byte[] bytes, File file) throws EncrypterException {
    try {
        final byte[] rawKey = getRawKey(password.getBytes());
        final FileOutputStream ostream = new FileOutputStream(file, false);

        ostream.write(encrypt(rawKey, bytes));
        ostream.flush();
        ostream.close();

    } catch (IOException e) {
        throw new EncrypterException(e);
    }
}

private static byte[] encrypt(byte[] raw, byte[] clear) throws EncrypterException {
    try {
       final SecretKeySpec skeySpec = new SecretKeySpec(raw, "AES");
       final Cipher cipher = Cipher.getInstance("AES");
       cipher.init(Cipher.ENCRYPT_MODE, skeySpec);

       return cipher.doFinal(clear);

    } catch (Exception e) {
        throw new EncrypterException(e);
    }
}

Aber Es gibt ein Fehler wegen ungenügenden Speicherplatzes zu sagen Ablehnung der Zuweisung von 301023321 element.

1.Ist die Methode, die ich verwende richtige für so große Dateien?

2.Wenn ja, warum bin ich immer diese Fehlermeldung?Was ist die Lösung?

3.Wenn Nein, schlagen Sie bitte ein paar gute Methode?

statt dofinal, würde ich die Verwendung von update mit Stücken von meiner ersten byte[] (ein paar Kb jedes mal) und schreiben Sie diese in die Datei.
oder vielleicht mit den doFinal-Methode mit 2 ByteBuffers Elemente
Wie willst du entschlüsseln ? Sie erschwert es durch die Verschlüsselung der video-in Blöcken...
Ich bin neu in diesem können Sie mir helfen mit etwas code

InformationsquelleAutor Navdroid | 2012-02-29

Schreibe einen Kommentar