hashFile method
Implementation
Future<String> hashFile(File file) async {
final digestSink = DigestSink();
final byteSink = crypto.sha512.startChunkedConversion(digestSink);
final raf = await file.open();
const chunkSize = 1048576; // 1MB chunks
try {
while (true) {
final bytes = await raf.read(chunkSize);
if (bytes.isEmpty) break;
byteSink.add(bytes);
}
byteSink.close();
return HEX.encode(digestSink.value?.bytes ?? []).toLowerCase();
} finally {
await raf.close();
}
}