Get files SHA256 through worker thread

master
Chakib Benziane 5 years ago
parent f067aab44c
commit 02067170a0

@ -1 +1 @@
Subproject commit 0515af012932878cd637bb7b9ee871f263cf4359
Subproject commit 8cad8011ff9d0c69464f4ce45f4373d58bbdf872

@ -11,4 +11,6 @@ window.app = new Vue({
components: { App }
});
window.worker = GetWorker('main');

@ -3,9 +3,29 @@
//
const name = 'main'
function hexString(buffer) {
const byteArray = new Uint8Array(buffer);
const hexCodes = [...byteArray].map(value => {
const hexCode = value.toString(16);
const paddedHexCode = hexCode.padStart(2, '0');
return paddedHexCode;
});
return hexCodes.join('');
}
function getSHA256(file){
console.log('getting sha 256 for ');
console.log(file);
const fileName = file.name
// Read as array buffer
fileReader = new FileReaderSync();
buffer = fileReader.readAsArrayBuffer(file);
// Get sha256
crypto.subtle.digest('SHA-256', buffer).then( digest => {
console.log(`SHA256 for ${fileName}: `, hexString(digest));
})
}

@ -3,8 +3,10 @@ class Worker {
constructor(script) {
if (window.Worker) {
this.worker = new window.Worker(script);
this.onmessage = this.worker.onmessage;
this.post({
msg: 'init'
})
}
}

Loading…
Cancel
Save