UNPKG

@omnimedia/omnitool

Version:

open source video processing tools

21 lines (16 loc) 489 B
import {Hex, Thumbprint} from "@e280/stz" export class Checksum { constructor( public data: Uint8Array, public bytes: Uint8Array, public hash: string, public nickname: string, ) {} static async make(data: Uint8Array) { const data2 = new Uint8Array(data) const bytes = new Uint8Array(await crypto.subtle.digest("SHA-256", data2)) const hash = Hex.fromBytes(bytes) const nickname = Thumbprint.sigil.fromBytes(bytes) return new this(data, bytes, hash, nickname) } }