2.1.2 • Published 8 years ago

halite v2.1.2

Weekly downloads
1
License
BSD-2-Clause
Repository
github
Last release
8 years ago

halite

encrypt and decrypt UTF-8 strings with tweetnacl

usage

var halite = require('halite')

var message = 'hi guys'
// make a nonce
var n = halite.makenonce()
// generate two keypairs
var kp1 = halite.keypair()
var kp2 = halite.keypair()
// kp1 encrypts a message for kp2
var enc = halite.encrypt(message, n, halite.pk(kp2), halite.sk(kp1))
// kp2 decrypts the message with kp1's public key
var dec = halite.decrypt(enc, n, halite.pk(kp1), halite.sk(kp2))
console.log(dec)
// > 'hi guys'

encrypt / decrypt api

halte.keypair()

generate a keypair

halite.makenonce()

generate a nonce

halite.encrypt(str, nonce, pubkey, secretkey)

returns encrypted message as a Uint8Array

halite.encrypt(arr, nonce, pubkey, secretkey)

returns a string. arr should be a Unit8Array

sign / verify api

halite.signKeypair()

generate a keypair for signing

sign(str, sk)

returns signed message as a Uint8Array

verify(arr, pk)

returns a clertext message if arr (a Uint8Arr) is signed from pk. returns null if validation fails.

helper functions

halite.pk(kp)

get the public key of a keypair kp

halite.sk(kp)

get the secret key of a keypair kp

halite.serialize(u8a) / halite.deserialize(arr)

converts u8a to str and back again. this is convenient for seding uint8arrays over the wire. e.g.,

// this doesnt work!
var a= new Uint8Array([1, 2,3])
JSON.parse(JSON.stringify(a)) === a
// > false

// but this works!!
var overWire = JSON.stringify(halite.serialize(a)) 
halite.deserialize(JSON.parse(overWire)) === a
// > true

developing

to run the tests

npm test

when developing, you can watch for changes and re-run tests automatically

npm run watch

license

BSD

2.1.2

8 years ago

2.1.1

8 years ago

2.1.0

8 years ago

2.0.1

8 years ago

2.0.0

8 years ago

1.0.4

8 years ago

1.0.3

8 years ago

1.0.2

8 years ago

1.0.1

8 years ago

1.0.0

8 years ago