scryptenc-wasm

Crates.ioscryptenc-wasm
lib.rsscryptenc-wasm
version0.2.3
sourcesrc
created_at2024-01-24 23:34:25.015366
updated_at2024-02-28 09:25:16.27013
descriptionWasm bindings for scryptenc
homepagehttps://sorairolake.github.io/scryptenc-rs/
repositoryhttps://github.com/sorairolake/scryptenc-rs
max_upload_size
id1113092
size23,377
Shun Sakai (sorairolake)

documentation

https://docs.rs/scryptenc-wasm

README

Wasm Bindings for scryptenc

CI npm Version crates.io Version MSRV Docs License

scryptenc-wasm is the Wasm bindings for the scryptenc crate.

Usage

Installation

To install this library:

npm install @sorairolake/scryptenc-wasm

Build

You will need wasm-pack to build this crate.

wasm-pack build

This will generate build artifacts in the pkg directory.

Example

import * as assert from "https://deno.land/std@0.216.0/assert/mod.ts";

import * as scryptenc from "./pkg/scryptenc_wasm.js";

const data = new TextEncoder().encode("Hello, world!\n");
const passphrase = new TextEncoder().encode("passphrase");

// Encrypt `data` using `passphrase`.
const ciphertext = scryptenc.encrypt(data, passphrase);
assert.assertNotEquals(ciphertext, data);

// And extract the scrypt parameters from it.
const params = new scryptenc.Params(ciphertext);
assert.assertEquals(params.logN, 17);
assert.assertEquals(params.n, BigInt(2 ** 17));
assert.assertEquals(params.r, 8);
assert.assertEquals(params.p, 1);

// And decrypt it back.
const plaintext = scryptenc.decrypt(ciphertext, passphrase);
assert.assertEquals(plaintext, data);

Documentation

See the documentation for more details.

Minimum supported Rust version

The minimum supported Rust version (MSRV) of this library is v1.74.0.

Changelog

Please see CHANGELOG.adoc.

Contributing

Please see CONTRIBUTING.adoc.

License

Copyright © 2022–2024 Shun Sakai (see AUTHORS.adoc)

This library is distributed under the terms of either the Apache License 2.0 or the MIT License.

This project is compliant with version 3.0 of the REUSE Specification. See copyright notices of individual files for more details on copyright and licensing information.

Commit count: 583

cargo fmt