HMAC 계산을 Web Worker에서 처리하도록 변경

This commit is contained in:
static committed 2026-01-12 15:16:43 +09:00
1 parent b636d75ea0
commit e7dc96bb47
4 files changed
+52 -25

No files matched your search

+25
View File
@@ -0,0 +1,25 @@
import { hmac } from "@noble/hashes/hmac.js";
import { sha256 } from "@noble/hashes/sha2.js";
export interface ComputeMessage {
stream: ReadableStream;
key: Uint8Array;
}
export interface ResultMessage {
result: Uint8Array;
}
self.onmessage = async (event: MessageEvent<ComputeMessage>) => {
const h = hmac.create(sha256, event.data.key);
const reader = event.data.stream.getReader();
while (true) {
const { done, value } = await reader.read();
if (done) break;
h.update(value);
}
const result = h.digest();
self.postMessage({ result } satisfies ResultMessage, { transfer: [result.buffer] });
};