Crates.io | scryptenc-wasm |
lib.rs | scryptenc-wasm |
version | 0.2.3 |
source | src |
created_at | 2024-01-24 23:34:25.015366 |
updated_at | 2024-02-28 09:25:16.27013 |
description | Wasm bindings for scryptenc |
homepage | https://sorairolake.github.io/scryptenc-rs/ |
repository | https://github.com/sorairolake/scryptenc-rs |
max_upload_size | |
id | 1113092 |
size | 23,377 |
scryptenc-wasm is the Wasm bindings for the scryptenc
crate.
To install this library:
npm install @sorairolake/scryptenc-wasm
You will need wasm-pack
to build this crate.
wasm-pack build
This will generate build artifacts in the pkg
directory.
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);
See the documentation for more details.
The minimum supported Rust version (MSRV) of this library is v1.74.0.
Please see CHANGELOG.adoc.
Please see CONTRIBUTING.adoc.
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.