UNPKG

know-js

Version:

JavaScript library for sending Know transactions from the client or server

40 lines (32 loc) 1.53 kB
var eccrypto = require("eccrypto"); var knowjs = require('../index'); var wif = require('wif'); var secp256k1 = require("secp256k1"); var tmp = '038f49917f167381c39be4340348a362fa700919cc7054ee255df7facc8942fa02'; var publicKey = secp256k1.publicKeyConvert(new Buffer(tmp, 'hex'), false); eccrypto.encrypt(publicKey, Buffer("test")).then(function(encrypted) { var data = { iv: encrypted.iv.toString('hex'), ephemPublicKey: encrypted.ephemPublicKey.toString('hex'), ciphertext: encrypted.ciphertext.toString('hex'), mac: encrypted.mac.toString('hex') }; console.log('encrypted', data); }); var passphrase = "grocery divorce dove ginger glove corn myself narrow course income occur pill"; var privateKeyA = knowjs.crypto.getKeys(passphrase).toWIF(); privateKeyA = wif.decode(privateKeyA).privateKey; var data = { iv: 'babd5c731c763435bad88c791bdddb2c', ephemPublicKey: '049e231f6f602aa1b01a7bd03529f6829bf8530b545bcb5a63e62b26ce7776d93dc8e078d28cb065979e6f69df53255df348f3164b7e7db54c914b087495ea44d9', ciphertext: '9cec69dda9fad0ed266d3df38d6d013b', mac: '606448575a6589165df08f7e800994e31c7f80c6dae2b2c057592d1e35b5662f' }; data.iv = new Buffer(data.iv, 'hex'); data.ephemPublicKey = new Buffer(data.ephemPublicKey, 'hex'); data.ciphertext = new Buffer(data.ciphertext, 'hex'); data.mac = new Buffer(data.mac, 'hex'); // B decrypting the message. eccrypto.decrypt(privateKeyA, data).then(function(plaintext) { console.log("Message:", plaintext.toString()); });