Arne Goedeke f93d546ee0 randombytes: Replace run-time require detection
Using require() as an expression leads to compile errors in webpack.
This issue can be solved by guarding the use of require by the 'correct'
run-time check using `typeof require`.
2023-03-02 09:48:16 +01:00
2020-08-12 15:39:14 +02:00
2020-09-22 14:49:40 +02:00
2020-09-22 14:47:36 +02:00
2020-06-24 14:08:55 +02:00
2020-07-13 14:53:38 +02:00
2020-06-24 14:08:55 +02:00
2020-06-24 14:08:55 +02:00
2020-06-24 14:08:55 +02:00
2020-09-22 14:47:36 +02:00
2020-09-22 14:47:36 +02:00
2020-06-24 14:49:26 +02:00
2020-08-12 15:39:14 +02:00
2022-01-14 16:42:28 +00:00
2017-01-24 11:41:06 +01:00
2022-01-14 17:43:21 +00:00
2020-11-12 08:39:33 +01:00
2020-10-09 13:35:11 +02:00

sodium-javascript

Build Status

WIP - a pure javascript version of sodium-native. Based on tweetnacl

Usage

const sodium = require('sodium-javascript')

const key = Buffer.alloc(sodium.crypto_secretbox_KEYBYTES)
const nonce = Buffer.alloc(sodium.crypto_secretbox_NONCEBYTES)

sodium.randombytes_buf(key)
sodium.randombytes_buf(nonce)

const message = Buffer.from('Hello, World!')
const cipher = Buffer.alloc(message.length + sodium.crypto_secretbox_MACBYTES)

sodium.crypto_secretbox_easy(cipher, message, nonce, key)

console.log('Encrypted:', cipher)

const plainText = Buffer.alloc(cipher.length - sodium.crypto_secretbox_MACBYTES)

sodium.crypto_secretbox_open_easy(plainText, cipher, nonce, key)

console.log('Plaintext:', plainText.toString())

API

See sodium-native. This is a work in progress so not all functions are implemented yet.

This module is organised into individual submodules which can be required independently for smaller bundles in the browser. To leverage automatic switching between sodium-javascript and sodium-native, see sodium-universal.

Install

npm install sodium-javascript

License

MIT

S
Description
Pure Javascript version of sodium-native
Readme
2.6 MiB
Languages
JavaScript 100%