Skip to content

Instantly share code, notes, and snippets.

View jkyberneees's full-sized avatar
😎
up and running

Rolando Santamaria Maso jkyberneees

😎
up and running
View GitHub Profile
service.use((req, res, next) => {
const now = new Date().getTime()
res.on('response', (e) => {
e.res.setHeader('x-response-time', new Date().getTime() - now)
})
return next()
})
const service = require('restana')({})
service.get('/hi', (req, res) => {
res.send('Hello World!')
})
service.start(3000)
const fastify = require('fastify')()
fastify.get('/hi', async (request, reply) => {
return 'Hello World!'
})
fastify.listen(3000)
const service = require('express')({})
service.get('/hi', (req, res) => {
res.send('Hello World!')
})
service.listen(3000)
const http = require('http')
const service = new http.Server()
service.on('request', (req, res) => {
if (req.method === 'GET' && req.url === '/hi') {
res.writeHead(200, { 'Content-Type': 'text/plain' })
res.end('Hello World!')
} else {
res.statusCode = 404
res.end()
// Alice precomputes shared key with Bob (one time)
const sharedKey = nacl.box.before(bob.publicKey, alice.secretKey)
const message // <-- message object from Bob side
const payload = nacl.box.open.after(
message.box,
message.nonce,
sharedKey // <-- using shared key
)
// Bob precomputes shared key with Alice (one time)
const sharedKey = nacl.box.before(alice.publicKey, bob.secretKey)
// generating one time nonce for encryption
const nonce = nacl.randomBytes(24)
// Bob encrypt message for Alice
const box = nacl.box.after(
nacl.util.decodeUTF8('Hello Alice'),
nonce,
@jkyberneees
jkyberneees / decrypt-tweetnacl.js
Last active September 3, 2018 22:30
decrypt-tweetnacl.js
const nacl = require('tweetnacl')
nacl.util = require('tweetnacl-util')
// reading Alice key pair from secret key
const alice = nacl.box.keyPair.fromSecretKey(/* Uint8Array with 32-byte secret key */)
// reading Bob public key
const bob = {publicKey: /* Uint8Array with 32-byte secret key */}
// const message = ... the message object from Bob
// Alice decrypts message from Bob
const nacl = require('tweetnacl')
nacl.util = require('tweetnacl-util')
// generating key pairs
const bob = nacl.box.keyPair()
const alice = nacl.box.keyPair()
// generating one time nonce for encryption
const nonce = nacl.randomBytes(24)
// message for Alice
const nacl = require('tweetnacl')
nacl.util = require('tweetnacl-util')
// generating Bob key pair
const bob = nacl.box.keyPair()
// generating Alice key pair
const alice = nacl.box.keyPair()
// generating one time nonce for encryption
const nonce = nacl.randomBytes(24)