Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/kanru/rage-wasm

WebAssembly wrapper of the rage encryption library
https://github.com/kanru/rage-wasm

Last synced: 3 months ago
JSON representation

WebAssembly wrapper of the rage encryption library

Awesome Lists containing this project

README

        

# rage-wasm: WebAssembly wrapper of rage

rage is a simple, modern, and secure file encryption tool, using the age format.
It features small explicit keys, no config options, and UNIX-style
composability.

The format specification is at [age-encryption.org/v1](https://age-encryption.org/v1).
To discuss the spec or other age related topics, please email
[the mailing list](https://groups.google.com/d/forum/age-dev) at
[email protected]. age was designed by
[@Benjojo12](https://twitter.com/Benjojo12) and
[@FiloSottile](https://twitter.com/FiloSottile).

This package is a WebAssembly wrapper of the Rust
[rage](https://github.com/str4d/rage) package, providing basic encryption and
descryption operations.

## 🚴 Usage

### 🐑 Use NPM or Yarn to install the package

```
npm install @kanru/rage-wasm
```

The package exports a single module with 5 async methods. Upon first use
an inlined webassembly module will be loaded asynchronously.

- keygen - generate x25519 key pairs
- encrypt_with_x25519
- decrypt_with_x25519
- encrypt_with_user_passphrase
- decrypt_with_user_passphrase

### Examples

Some examples with parcel or shadow-cljs are available under the `examples/` directory.

## Contribute

### 🛠️ Build

```
npm install
npm run build
```

### 🔬 Test in Headless Browsers

```
npm test
```

### 🎁 Publish to NPM

```
npm publish
```