Argon2 for Deno
Argon2 encryption library for Deno.
It uses rust-argon2 under the hood.
API
hash(password: string, options?: HashOptions): Promise<string>
verify(hash: string, password: string): Promise<boolean>
Error handling
In case of error, all methods of this library will throw an Argon2Error
type.
Usage
import { assert } from "https://deno.land/std/testing/asserts.ts";
import { hash, verify } from "https://deno.land/x/argon2/mod.ts"
let hash = await hash("test");
assert(await verify(hash, "test"));
CLI
It is possible to install deno-argon2 as a CLI tool insatiable via deno install
.
Installation snippet
deno install \
--allow-env \
--allow-run \
--allow-read \
--allow-write \
--allow-plugin \
--allow-net \
argon2 https://deno.land/x/argon2/cli/mod.ts
After install run --help
to inspect all possible commands.
Permissions
This library automatically download the static library and initialize Deno plugin via plugin_prepare and it requires --allow-read .deno_plugins
, --allow-write .deno_plugins
and --allow-plugin
to be specified.
deno \
--allow-read .deno_plugins \
--allow-write .deno_plugins \
--allow-net
--allow-plugin \
src/mod.ts
Examples
In the examples/
folder there you can find some usage examples.
To run examples you must
--allow-run
since dev environment builds and initialize the Rust crate.
Contributing
Project structure
src/
native/
tests/
benches/
examples/