... Cleaker src/cleaker.js

Source

src/cleaker.js

import crypto from 'crypto';
import pkg from 'js-sha3';
const { keccak256 } = pkg;

/**
 * Generates a Digital Identifier (DID) for an object using a specified hashing algorithm.
 * @param {Object} data - The object to be hashed.
 * @param {string} algorithm - The hashing algorithm to use ('SHA-256' or 'Keccak-256').
 * @returns {string} The generated DID.
 */
function Cleaker(data, algorithm = 'SHA-256') {
  const dataString = JSON.stringify(data);

  let hash;
  if (algorithm === 'SHA-256') {
    hash = crypto.createHash('sha256').update(dataString).digest('hex');
  } else if (algorithm === 'Keccak-256') {
    hash = keccak256(dataString);
  } else {
    throw new Error('Unsupported hashing algorithm');
  }

  return hash;
}

export default Cleaker;

Witness our Seal.
neurons.me