'use strict'; var crypto = require('crypto'); module.exports = function (input) { var hash = crypto.createHash('md5'); var update = function (buf) { var inputEncoding = typeof buf === 'string' ? 'utf8' : undefined; hash.update(buf, inputEncoding); }; if (arguments.length > 1) { throw new Error('Too many arguments. Try specifying an array.'); } if (Array.isArray(input)) { input.forEach(update); } else { update(input); } return hash.digest('hex'); };