Зашифровать на стороне сервера с помощью средств javax и расшифровать на стороне клиента получилось с помощью window.crypto.
В демо используется AES-CBC-256.
Для шифрования и расшифровки нужен ключ и IV вектор иницализации.
Ключ – последовательность байт. Для AES-128 – 16 байт, для AES-256 – 32 байта.
IV – 16 байт.
Сейчас ключ получается из строки с помощью SubtleCrypto.digest()
Для тестирования:
Browser – шифрование/расшифровка в браузере.
Server – шифрование/расшифровка в на сервере.
Код агентства – 32 символа. Это hex-строка которая состоит из 16 байт.