Isomorphic encryption library that works both in the browser and node.
Go to file
dependabot[bot] be04f9c546
Bump socket.io-parser from 4.2.2 to 4.2.4 (#4)
Bumps [socket.io-parser](https://github.com/socketio/socket.io-parser) from 4.2.2 to 4.2.4.
- [Release notes](https://github.com/socketio/socket.io-parser/releases)
- [Changelog](https://github.com/socketio/socket.io-parser/blob/main/CHANGELOG.md)
- [Commits](https://github.com/socketio/socket.io-parser/compare/4.2.2...4.2.4)

---
updated-dependencies:
- dependency-name: socket.io-parser
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-11-21 10:48:06 +01:00
.github/workflows update deps 2023-05-16 10:28:44 +02:00
.vscode 2.0.0 (#3) 2022-10-18 15:53:43 +02:00
src add generate key 2023-01-13 20:42:36 +01:00
test add generate key 2023-01-13 20:42:36 +01:00
.gitignore 2.0.0 (#3) 2022-10-18 15:53:43 +02:00
.karma.cjs 2.0.0 (#3) 2022-10-18 15:53:43 +02:00
.mocharc.yaml 2.0.0 (#3) 2022-10-18 15:53:43 +02:00
.nvmrc update deps 2023-05-16 10:28:44 +02:00
CHANGELOG.md changelog 2023-05-16 10:30:28 +02:00
LICENSE 2.0.0 (#3) 2022-10-18 15:53:43 +02:00
package.json 2.0.2 2023-05-16 10:30:12 +02:00
pnpm-lock.yaml Bump socket.io-parser from 4.2.2 to 4.2.4 (#4) 2023-11-21 10:48:06 +01:00
README.md readme 2023-01-14 18:49:31 +01:00
ROADMAP.md 2.0.0 (#3) 2022-10-18 15:53:43 +02:00
tsconfig.json 2.0.0 (#3) 2022-10-18 15:53:43 +02:00
typedoc.json 2.0.0 (#3) 2022-10-18 15:53:43 +02:00

occulto 🔒

Occulto /okˈkul.to/

hidden, concealed. secret.

version badge downloads badge dependency count minzip size badge types badge

Isomorphic encryption library that works both in the browser and node with no dependencies and written in Typescript.

📒 API Documentation 📒

Quickstart 🚀

Requirements
  • Node >= 16 required
Install
npm i occulto

Examples

RSA

import { RSA } from 'occulto'

const pair = await RSA.generateKeyPair(2 ** 11)
const bytes = Bytes.encode(message)

const encrypted = await RSA.encrypt(bytes, pair.public)
const decrypted = await RSA.decrypt(encrypted, pair.private)

AES

Available Modes

There is an easy API, that will take care of everything for you.

import { AES } from 'occulto'

const password = 'foobar'
const message = 'this is a secret'

const encrypted = await AES.encryptEasy(message, password)
const decrypted = await AES.decryptEasy(encrypted, password)

The low level API is also exposed for advanced usages.

import { AES } from 'occulto'

const message = 'this is a secret'
const key = await AES.generateKey()
const data = Bytes.encode(message)

const ciphertext = await AES.encrypt(data, key)
const plaintext = await AES.decrypt(ciphertext, key)

Hash

Available hashes

import { Hash, Hashes } from 'occulto'

const hashed = await Hash.hash('Some value', Hashes.SHA_512)