Java 如何使用Dart加密视频文件?

Java 如何使用Dart加密视频文件?,java,flutter,encryption,dart,media,Java,Flutter,Encryption,Dart,Media,我正在尝试使用dart加密视频剪辑。我已经测试了这段java代码,并希望使用dart进行同样的测试 这是我找到的解决方案。希望能有帮助。记住将包添加到pubspec.yaml import 'dart:convert'; import 'dart:io'; import 'package:encrypt/encrypt.dart'; main() { perfomEncryptionTasks(); } perfomEncryptionTasks() async { await

我正在尝试使用dart加密视频剪辑。我已经测试了这段java代码,并希望使用dart进行同样的测试

这是我找到的解决方案。希望能有帮助。记住将包添加到pubspec.yaml

import 'dart:convert';
import 'dart:io';

import 'package:encrypt/encrypt.dart';

main() {

  perfomEncryptionTasks();
}

perfomEncryptionTasks() async {
  await encryptFile();
  await decryptFile();
}

encryptFile() async {
  File inFile = new File("video.mp4");
  File outFile = new File("videoenc.aes");

  bool outFileExists = await outFile.exists();

  if(!outFileExists){
    await outFile.create();
  }

  final videoFileContents = await inFile.readAsStringSync(encoding: latin1);

  final key = Key.fromUtf8('my 32 length key................');
  final iv = IV.fromLength(16);

  final encrypter = Encrypter(AES(key));

  final encrypted = encrypter.encrypt(videoFileContents, iv: iv);
  await outFile.writeAsBytes(encrypted.bytes);
}

decryptFile() async {
  File inFile = new File("videoenc.aes");
  File outFile = new File("videodec.mp4");

  bool outFileExists = await outFile.exists();

  if(!outFileExists){
    await outFile.create();
  }

  final videoFileContents = await inFile.readAsBytesSync();

  final key = Key.fromUtf8('my 32 length key................');
  final iv = IV.fromLength(16);

  final encrypter = Encrypter(AES(key));

  final encryptedFile = Encrypted(videoFileContents);
  final decrypted = encrypter.decrypt(encryptedFile, iv: iv);

  final decryptedBytes = latin1.encode(decrypted);
  await outFile.writeAsBytes(decryptedBytes);

}

这个答案能处理大的视频文件吗?大约700 MB?它给我一个错误,说无法创建输出文件。你也犯了同样的错误吗?