Isomorphic encryption library that works both in the browser and node.
Go to file
2022-10-16 02:45:17 +02:00
.github/workflows config stuff 2022-10-14 13:17:22 +02:00
.vscode rewrite 2022-10-13 22:06:51 +02:00
src rsa 2022-10-16 02:44:41 +02:00
test rsa 2022-10-16 02:44:41 +02:00
.gitignore rewrite 2022-10-13 22:06:51 +02:00
.karma.cjs testing with playwright 2022-10-16 02:45:17 +02:00
.mocharc.yaml rewrite 2022-10-13 22:06:51 +02:00
.npmrc config stuff 2022-10-14 13:17:22 +02:00
package.json testing with playwright 2022-10-16 02:45:17 +02:00
pnpm-lock.yaml testing with playwright 2022-10-16 02:45:17 +02:00
README.md readme 2022-10-14 15:10:46 +02:00
ROADMAP.md rewrite 2022-10-13 22:06:51 +02:00
tsconfig.cjs.json rewrite 2022-10-13 22:06:51 +02:00
tsconfig.esm.json rewrite 2022-10-13 22:06:51 +02:00
tsconfig.json rewrite 2022-10-13 22:06:51 +02:00
typedoc.json use typedarray everywhere and docs 2022-10-14 13:52:18 +02:00

occulto 🔒

Occulto /okˈkul.to/

hidden, concealed. secret.

High level wrapper around the node native crypto API.

No Deps & Typescript typings included

Supports Hashes, Symmetric AES & ChaCha20 ciphers and Asymmetric RSA.

📒 DOCS HERE 📒

Quickstart 🚀

Requirements
  • Node >= 16 required
Install
npm i occulto

Examples

RSA

import { RSA } from 'occulto'

const pair = await RSA.gen()
const encrypted = RSA.encrypt('some text', pair.pub)
const decrypted = RSA.decrypt(encrypted, pair.prv)

Symmetric

Available Ciphers

import { Symmetric } from 'occulto'

const encrypted = Symmetric.encrypt('some string', 'myPass', Symmetric.Ciphers.AES_128_GCM)
const decrypted = Symmetric.decrypt(encrypted, 'myPadd')

Hash

Available hashes

import { Hash } from 'occulto'

const hash = Hash.digest('something')

const h = Hash.digest('something', Hash.Hashes.MD5)