Skip to content

MD5

根据 RFC 1321 实现的纯 TypeScript MD5 哈希工具。零依赖,纯异步,支持字符串(UTF-8)、ArrayBufferUint8Array 输入。

md5

ts
function md5(input: string | ArrayBuffer | Uint8Array): Promise<string>

返回 32 字符小写 hex 字符串。

ts
import { md5 } from '@bilibaba/ts-lab/tools'

await md5('hello')
// '5d41402abc4b2a76b9719d911017c592'

await md5('')
// 'd41d8cd98f00b204e9800998ecf8427e'

await md5('你好')
// '7eca689f0d3389d9dea66ae112e5cfd7'

大文件不卡 UI

内部每处理 ~256 KB 原始数据就 yield 给事件循环,浏览器可以正常渲染和响应:

ts
const fileHash = await md5(await file.arrayBuffer())