Get your own Node server
const crypto = require('crypto');

// Data to hash
const data = 'Hello, Node.js!';

// Function to hash data and get digest in different encodings
function hashWithEncoding(algorithm, data, encoding) {
  const hash = crypto.createHash(algorithm);
  hash.update(data);
  return hash.digest(encoding);
}

// Hash the data with SHA-256 and display in different encodings
console.log(`Data: "${data}"`);
console.log(`SHA-256 (hex): ${hashWithEncoding('sha256', data, 'hex')}`);
console.log(`SHA-256 (base64): ${hashWithEncoding('sha256', data, 'base64')}`);
console.log(`SHA-256 (base64url): ${hashWithEncoding('sha256', data, 'base64url')}`);
console.log(`SHA-256 (binary): ${hashWithEncoding('sha256', data, 'binary')}`);

// Get the digest as a Buffer (no encoding)
const hash = crypto.createHash('sha256');
hash.update(data);
const buffer = hash.digest();
console.log('SHA-256 (Buffer):', buffer);
console.log('Buffer length:', buffer.length, 'bytes');

              
Data: "Hello, Node.js!"
SHA-256 (hex): a5d5b61eaa9f3bf3fecf3a5b5b5d5c5e5f5a5b5c5d5e5f5a5b5c5d5e5f5a5b5c
SHA-256 (base64): pV9rHqqfO/P8/PpaW1vF5fWltcXl9aXG5fWl9uX2JfY
SHA-256 (base64url): pV9rHqqfO_P8_PpaW1vF5fWltcXl9aXG5fWl9uX2JfY
SHA-256 (binary): §Û¶ªŸ;óþÏ:[[×\^Z[\]^_Z[\]^_Z[\
SHA-256 (Buffer): 
Buffer length: 32 bytes