В вашем коде вы ссылаетесь на результат вызова функции MD5, которая при передаче в typeof
возвращает свой тип как «объект».
Хотя это кажется плохо документированным, вы можете получить строковое представление значения MD5, используя:
console.log(CryptoJS.MD5('my message').toString())
, который производит: "8ba6c19dc1def5702ff5acbf2aeea5aa"
Если вы планируете запускать свой код с использованием NodeJS, вы можете рассмотреть его собственный модуль crypto
вместо crypto-js
.
const crypto = require('crypto')
const h = crypto.createHash('md5')
h.update('my message')
console.log(h.digest('hex'))
, который также печатает: "8ba6c19dc1def5702ff5acbf2aeea5aa"
Преимущество использования родного криптомодуля NodeJS заключается в том, что, как и все собственные модули, он встроен в среду выполнения NodeJS и, следовательно, не требует загрузки из внешнего модуля.