Dart 2 hashing library for OpenSubtitles.

This package is used to calculate OpenSubtitles' hash for video files in order to search for subtitles for that file in OpenSubtitles' database.

More information about the hashing process can be found here:


To hash a local file:

// File is the sample AVI file from the HashSourceCodes page
// on OpenSubtitle's Wiki.
String hash = await OpenSubtitlesHasher.computeFileHash(
  new File('breakdance.avi')

To hash a remote file (HTTP):

String hash = await OpenSubtitlesHasher.computeURLHash(
  headers: { "X-My-Header": "true" }, // (Optional)
  followRedirects: false              // (Optional)


Simply use pub run test test.dart to test that the library functions correctly.