jose/src/runtime/browser/digest.ts
2021-08-20 12:01:17 +02:00

11 lines
372 B
TypeScript

import crypto from './webcrypto.js'
import type { DigestFunction } from '../interfaces.d'
const digest: DigestFunction = async (
algorithm: 'sha256' | 'sha384' | 'sha512',
data: Uint8Array,
): Promise<Uint8Array> => {
const subtleDigest = `SHA-${algorithm.substr(-3)}`
return new Uint8Array(await crypto.subtle.digest(subtleDigest, data))
}
export default digest