Я пытаюсь создать хэш файла через Crypto-JS
.
Идея состоит в том, чтобы создать хэш первых байтов (т. Е. От 10
до 100
).
Результат в Safari (последний) не такой, как в Chrome и Firefox (последний): есть идеи о том, что не так в Safari?
JSfiddle
Хеш-функция
const hashthefile = (filetoHash) => {
return new Promise((resolve, reject) => {
var start = 10;
var stop = 100;
// set reading operations through the FileReader API
var reader = new FileReader();
reader.onloadend = function(event) {
// when the entire read request has been completed
if (event.target.readyState == FileReader.DONE) {
var data = event.target.result;
var encrypted = CryptoJS.SHA256(data).toString();
resolve(encrypted);
}
}
// handle error
reader.onerror = function(event) {
reject('reading error')
};
// slice the file according to first and last bytes defined
// complete API there: https://developer.mozilla.org/en-US/docs/Web/API/Blob/slice
var blob = filetoHash.slice(start, stop + 2);
// launch the file sliced reading as a base64 encoded string
reader.readAsDataURL(blob);
});
}