shh-client
Version:
The Shh.. protocol v0.0.1 Beta Tested. Keeps your messages very secure. Currently in more testing and securty.
25 lines (18 loc) • 864 B
JavaScript
import { generateKey, derivePublicKey, generateSharedKey, enc, dec, toServer } from './client.js';
// Keys for Pawan
let pawanPriv = generateKey('private');
let pawanPub = derivePublicKey(pawanPriv);
// Keys for Friend
let friendPriv = generateKey('private');
let friendPub = derivePublicKey(friendPriv);
// Shared keys
let pawanSharedKey = generateSharedKey(pawanPriv, friendPub);
let friendSharedKey = generateSharedKey(friendPriv, pawanPub);
console.log("Keys match?", pawanSharedKey.equals(friendSharedKey));
// Encrypt and send
const msg = { content: "Hello, It's Shh.. Chat!", from: "Pawan Yadav" };
const encryptedMsg = enc(msg, pawanSharedKey);
toServer(`/sh/users/${friendPub.toString('hex')}`, encryptedMsg);
// Friend decrypts
const decryptedMsg = dec(encryptedMsg, friendSharedKey);
console.log(decryptedMsg.from + ': ',decryptedMsg.content);