15 lines
490 B
TypeScript
15 lines
490 B
TypeScript
import { createHash } from "node:crypto";
|
|
|
|
const hasher = createHash("sha256");
|
|
|
|
export const hashDigest = (payload: string | Buffer) =>
|
|
"sha-256="
|
|
+ hasher
|
|
.update((Buffer.isBuffer(payload) ? payload : Buffer.from(payload)).toString("hex"))
|
|
.digest("base64");
|
|
|
|
export const streamToString = async (stream: ReadableStream<Uint8Array>) => {
|
|
const arr = new Uint8Array(await new Response(stream).arrayBuffer());
|
|
return new TextDecoder("utf-8").decode(arr);
|
|
};
|