Мне нужно создать дайджест SHA-256 из файла (~ 6 МБ) внутри браузера. Единственный способ, которым мне удалось это сделать, это вот так:
var reader = new FileReader();
reader.onload = function() {
// this gets read of the mime-type data header
var actual_contents = reader.result.slice(reader.result.indexOf(',') + 1);
var what_i_need = new jsSHA(actual_contents, "B64").getHash("SHA-256", "HEX");
}
reader.readAsDataURL(some_file);
Пока это работает правильно, проблема в том, что он очень медленный. Для файла размером 6 МБ потребовалось ~ 2-3 секунды. Как я могу улучшить это?