Something went wrong. Try again.
An atproto Tilemap editor
Something went wrong. Try again.
481 B · 8 lines
TypeScript
at main
123456789/** Lowercase hex SHA-256 of a blob or buffer, via Web Crypto. * Used to stamp an external sheet's expected checksum and to verify a * user-supplied file matches it. */export async function sha256Hex(data: Blob | ArrayBuffer): Promise<string> { const buf = data instanceof ArrayBuffer ? data : await data.arrayBuffer() const digest = await crypto.subtle.digest('SHA-256', buf) return Array.from(new Uint8Array(digest), (b) => b.toString(16).padStart(2, '0')).join('')}