Безопасный способ шифрования полезной нагрузки в JavaScript для аутентификации пользователя

Да, так делать не стоит. Закрытый ключ должен быть уникальным и конфиденциальным для каждого клиента.

Генерация ключа за 10 секунд — это цена, которую приходится платить. Существуют некоторые JS-криптографические API, которые могут ускорить этот процесс.