Могу ли я расшифровать поток с помощью JavaScript SubtleCrypto?Javascript

Форум по Javascript
Ответить
Anonymous
 Могу ли я расшифровать поток с помощью JavaScript SubtleCrypto?

Сообщение Anonymous »

Я реализую «безопасную папку» в Интернете, которая загружает зашифрованные файлы и расшифровывает их на стороне клиента. Мой текущий код выглядит так:

Код: Выделить всё

async function download_file(folder, file) {
const response = await fetch(file.url);
const ciphertext = await response.arrayBuffer();
const iv = Uint8Array.fromBase64(file.iv);
const cleartext = await window.crypto.subtle.decrypt({name: "AES-GCM", iv: iv}, folder.key, ciphertext);
const blob = new Blob([cleartext], {type: file.type});
const url = URL.createObjectURL(blob);
const file_a = window.document.createElement("a");
file_a.innerText = file.name;
file_a.href = url;
file_a.download = file.name;
file_a.click();
}
Он работает нормально, но зашифрованные файлы могут быть довольно большими, и мне неудобно хранить в памяти одновременно зашифрованный и открытый текст. Поскольку AES-GCM по сути является потоковым шифром, есть ли способ расшифровать поток из ответа.body без сохранения всего зашифрованного текста?


Подробнее здесь: https://stackoverflow.com/questions/798 ... btlecrypto
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Javascript»