В js строки в памяти хранятся в кодировке UTF16-LE (2-4 байта на символ, в большинстве случаев 2) и библиотека работает с байтами строки именно в ней
Библиотека на C++ принимает на вход std::vector при простом преобразовании строки в который Вы получите вектор байтов в текущей кодировке пользователя, скорее всего однобайтовой
Кодируйте строку на C++ в UTF16-LE перед шифрованием - тогда получите одинаковый результат