@hugoalh/blake
v0.2.2
Published
A module to get the non-cryptographic hash of the data with algorithm Blake.
Readme
Blake (ES)
🔗 DistBoard @hugoalh ● GitHub ● JSR ● NPM
An ECMAScript module to get the non-cryptographic hash of the data with algorithm Blake.
🌟 Features
- Support custom output length.
- Support variants of 2B and 2S.
🎯 Runtime Targets
Any runtime which support ECMAScript should able to use this; These runtimes are officially supported:
🛡️ Runtime Permissions
This does not request any runtime permission.
#️⃣ Sources & Entrypoints
- GitHub Raw
https://raw.githubusercontent.com/hugoalh/blake-es/{Tag}/mod.ts - JSR
jsr:@hugoalh/blake[@{Tag}] - NPM
npm:@hugoalh/blake[@{Tag}]
| Name | Path | Description |
|:--|:--|:--|
| . | ./mod.ts | Default. |
| ./2b | ./2b.ts | Variant of 2B. |
| ./2s | ./2s.ts | Variant of 2S. |
[!NOTE]
- Different runtimes have vary support for the sources and entrypoints, visit the runtime documentation for more information.
- It is recommended to include tag for immutability.
- These are not part of the public APIs hence should not be used:
- Benchmark/Test file (e.g.:
example.bench.ts,example.test.ts).- Entrypoint name or path include any underscore prefix (e.g.:
_example.ts,foo/_example.ts).- Identifier/Namespace/Symbol include any underscore prefix (e.g.:
_example,Foo._example).
🧩 APIs
class Blake2B { constructor(input?: Blake2BOptions); get freezed(): boolean; get length(): number; freeze(): this; hash(): Uint8Array; hashHex(): string; update(data: Blake2AcceptDataType): this; updateFromStream(stream: ReadableStream<Blake2AcceptDataType>): Promise<this>; }class Blake2S { constructor(input?: Blake2Options); get freezed(): boolean; get length(): number; freeze(): this; hash(): Uint8Array; hashHex(): string; update(data: Blake2AcceptDataType): this; updateFromStream(stream: ReadableStream<Blake2AcceptDataType>): Promise<this>; }interface Blake2Options { data?: Blake2AcceptDataType; key?: Uint8Array; length?: number; }interface Blake2BOptions extends Blake2Options { personal?: string | Uint8Array; salt?: string | Uint8Array; }type Blake2AcceptDataType = | string | Uint8Array;
[!NOTE]
- For the full or prettier documentation, can visit via:
✍️ Examples
new Blake2B("The quick brown fox jumps over the lazy dog").hashHex(); //=> "A8ADD4BDDDFD93E4877D2746E62817B116364A1FA7BC148D95090BC7333B3673F82401CF7AA2E4CB1ECD90296E3F14CB5413F8ED77BE73045B13914CDCD6A918"
