Вам необходимо сохранить возврат из cipher.update, а также cipher.final, чтобы убедиться, что у вас есть все.
cipher.update "возвращает зашифрованное содержимое и может вызываться много раз с новыми даннымив виде потока ":
http://nodejs.org/docs/v0.2.5/api.html#cipher-update-247
cipher.final" возвращает все оставшееся зашифрованное содержимое ".
Я думаю, что вы просто добавляете результаты к каждому вызову, как этот:
var crypto = require('crypto');
var cipher = crypto.createCipher('aes-256-cbc','InmbuvP6Z8');
var text = "123|123123123123123";
var crypted = cipher.update(text,'utf8','hex');
crypted += cipher.final('hex');
var decipher = crypto.createDecipher('aes-256-cbc','InmbuvP6Z8');
var dec = decipher.update(crypted,'hex','utf8');
dec += decipher.final('utf8');
Я получаю '12443a347e8e5b46caba9f7afc93d71287fbf11169e8556c6bb9c51760d5c585' для зашифрованного и '123 | 123123123123123' для dec в вышеуказанном с узлом v0.2.5 * 101