Outdoor close up autumn portrait of young elegant fashionable woman wearing trendy leather beret, sunglasses, hoop earrings, blazer, turtleneck, posing in street of European city. Copy, empty space

nodejs code to create end-to-end encrypted chat application

Start
const crypto = require('crypto');
const net = require('net');

// Generate the key pair
const { publicKey, privateKey } = crypto.generateKeyPairSync('rsa', {
  modulusLength: 4096,
  publicKeyEncoding: {
    type: 'pkcs1',
    format: 'pem'
  },
  privateKeyEncoding: {
    type: 'pkcs1',
    format: 'pem',
    cipher: 'aes-256-cbc',
    passphrase: 'your-passphrase'
  }
});

// Create a server
const server = net.createServer((socket) => {
  console.log('New client connected');

  // Encrypt the data using the public key
  const encrypt = crypto.publicEncrypt(publicKey, Buffer.from('Hello, World!'));

  // Send the encrypted data
  socket.write(encrypt);

  // Decrypt the data using the private key
  const decrypt = crypto.privateDecrypt(
    { key: privateKey, passphrase: 'your-passphrase' },
    encrypt
  );

  // Log the decrypted message
  console.log(decrypt.toString());
});

server.listen(3000, () => {
  console.log('Server started on port 3000');
});
Previous Story

Encode a entire directory of files using steganography

Next Story

Generate large prime numbers in a loop