JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 128
  • Score
    100M100P100Q64313F
  • License Apache-2.0

Pure javascript implementation of BLAKE3

Package Exports

  • blake3-js

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (blake3-js) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

blake3-js

Pure javascript implementation of BLAKE3

Usage

const blake = require("blake3-js");

blake
  .newRegular()
  .update([0,1,2,3,4,5,6])
  .finalize();

blake
  .newKeyed("whats the Elvish word for friend")
  .update("input can be in be in text form as well")
  .finalize();

blake
  .newDeriveKey("BLAKE3 2019-12-27 16:29:52 test vectors context")
  .update([0])
  .finalize();

Note: In keyed mode the key has to be exactly 32 bytes. Accepts both an ASCII string of 32 bytes or a byte array of length 32.

Tests

Test vectors from the reference implementation have been used. Run yarn test to run the test suite.

Limitations

  • Performance is bad, many opportunities to improve this. (Will switch to typed arrays for the u32 data type which should improve this a bit)
  • UTF-8 support is WIP