Я исправил эту проблему.Журнал консоли внутри tripledes.js (пакет CryptoJS) показал, что мне не хватало еще 64 бит в ключе после MD5 Hash.
this._des1 = DES.createEncryptor(WordArray.create(keyWords.slice(0, 2)));
this._des2 = DES.createEncryptor(WordArray.create(keyWords.slice(2, 4)));
this._des3 = DES.createEncryptor(WordArray.create(keyWords.slice(4, 6)));
длина key.words была 4 вместо 6. Таким образом, в des3 был пустой массив слов.Решением было вставить значение индекса 0 и 1 в массив ключевых слов.При длине, равной 6, des3 получает значение des1.т.е. keyWords.slice (0, 2) = keyWords.slice (4, 6).
Encrypt = () => {
var CryptoJS = require('crypto-js');
var text = '123456'
var key = "hello";
key = CryptoJS.enc.Utf16LE.parse(key);
key = CryptoJS.MD5(key)
key.words.push(key.words[0], key.words[1]) // FIX FIX FIX
var options = {
mode: CryptoJS.mode.ECB,
};
var textWordArray = CryptoJS.enc.Utf16LE.parse(text);
var encrypted = CryptoJS.TripleDES.encrypt(textWordArray, key, options);
var base64String = encrypted.toString();
console.log('Output JS Encrypted: ' + base64String);
}