Как отмечает @James в комментариях, md5 - это алгоритм хеширования, а не алгоритм шифрования (это означает, что он односторонний, и вы не можете расшифровать хэш md5 до его исходных данных). Хеширование обычно используется для обеспечения целостности данных.
Игнорируя все это, чтобы ответить на ваш вопрос о том, как md5 хэширует объект, вы можете просто использовать JSON.stringify(obj)
, чтобы превратить объект в строковое представление, а затем просто md5 хэшировать эту строку:
console.log(md5.appendStr(JSON.stringify(myObj)).end());
Одним потенциальным недостатком этого является то, что порядок сериализации из объекта в строку JSON будет влиять на выходное значение md5, например:
JSON.stringify({a:1, b:2})
"{"a":1,"b":2}"
JSON.stringify({b:2, a:1})
"{"b":2,"a":1}"
Обе строки будут иметь разные значения хеша md5, даже если они представляют одинаковое содержимое объекта