MD5
根据 RFC 1321 实现的纯 TypeScript MD5 哈希工具。零依赖,纯异步,支持字符串(UTF-8)、ArrayBuffer、Uint8Array 输入。
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())