Skip to content

imtaotao/super-fast-md5

Repository files navigation

super-fast-md5

NPM version

Super fast and super small (7kb) wasm version of md5 algorithm, able to use in browser and nodejs. The implementation comes from hash-wasm, We simplify the asynchronous syntax to synchronous syntax.

Online test platform

CDN

<!DOCTYPE html>
<html lang="en">
<body>
  <script src="https://unpkg.com/super-fast-md5/dist/md5.umd.js"></script>
  <script>
    const hash = FastMD5.md5('code');
    console.log(hash);
  </script>
</body>
</html>

NPM

import { md5 } from 'super-fast-md5';

// code -> `string | ArrayBuffer`
const hash = md5('code');
console.log(hash);

Performance

const code = 'abcde'.repeat(200000);

console.time('string');
FastMD5.md5(code);
console.timeEnd('string'); // 10ms

const buffer = new TextEncoder().encode(code);
console.time('buffer');
FastMD5.md5(buffer);
console.timeEnd('buffer'); // 6ms
./a.js [string] (1024 KiB)
> 10ms

./a.js [buffer] (1024 KiB)
> 6ms