1.0.2 • Published 4 years ago

crypto-encoder v1.0.2

Weekly downloads
5
License
AGPL-3.0-or-later
Repository
github
Last release
4 years ago

crypto-encoder

A simple hypercore-compatible crypto encoder.

Example

const hypercore = require('hypercore')
const Encoder = require('.')

const encryptionKey = Encoder.encryptionKey()
const valueEncoding = Encoder(encrytionKey, { valueEncoding: 'utf-8' })

const feed = hypercore(storage, { valueEncoding })

API

const Encoder = require('.')
const encryptionKey = Encoder.encryptionKey()

Generate a random 32 byte key to be used to encrypt.

const valueEncoding = Encoder(encryptionKey, opts)

Returns a message encoder used for encrypting messages in hypercore.

  • encryptionKey must be a buffer of length Encoder.KEYBYTES.
  • opts is an optional object which may contain:
    • opts.valueEncoder, an additional encoder to be used before encryption. May be one of:
      • The string 'utf-8' - utf-8 encoded strings will be assumed.
      • The string 'JSON' - JSON encoding will be assumed.
      • A custom encoder of the form { encode: [function] decode: [function] }