| Crates.io | rgp-web |
| lib.rs | rgp-web |
| version | 0.3.3 |
| created_at | 2025-03-31 03:22:08.048647+00 |
| updated_at | 2025-03-31 03:22:08.048647+00 |
| description | WebAssembly bindings for the RGP crate. |
| homepage | https://github.com/ordinarylabs/rgp |
| repository | https://github.com/ordinarylabs/rgp |
| max_upload_size | |
| id | 1612979 |
| size | 24,687 |
WebAssembly bindings for RGP.
import init, { generate_fingerprint, generate_dh_keys, encrypt_dh, decrypt_dh, } from "https://unpkg.com/rgp-web@0.3.3/rgp_web.js";
(async () => {
await init();
// fingerprint of sender
const fingerprint = generate_fingerprint();
// public/private keys for sender/receiver
const senderKeys = generate_dh_keys();
const receiverKeys = generate_dh_keys();
// content to be sent
const encoder = new TextEncoder();
const content = encoder.encode("hello world :)");
// encrypt
const encryptedContent = encrypt_dh(
fingerprint.fingerprint,
content,
senderKeys.private,
receiverKeys.public,
);
console.log("encrypted: ", encryptedContent);
// decrypt
const decryptedContent = decrypt_dh(
0,
encryptedContent,
fingerprint.verifier,
senderKeys.public,
receiverKeys.private
);
const decoder = new TextDecoder();
console.log("decrypted: ", decoder.decode(decryptedContent));
})();
Install wasm-pack.
cargo install wasm-pack
Build with wasm-pack.
wasm-pack build --target web
Publish with wasm-pack.
wasm-pack publish