Алгоритм используется для выполнения цифровой подписи (не шифрования) над заголовком и полезной нагрузкой маркера. Если вы хотите зашифровать маркер полезной нагрузки вам нужно применить JWE estandard (см RFC)
Есть ли практическая разница между алгоритмами шифрования HS256 и HS512, или это дополнительная защитой от более ключа избыточного по сравнению с уже нерушимой ключ ? Какой я должен использовать для шифрования токена JWT?
HS256 означает HMAC-SHA256. Разница с HS512 - это сила хэш-методов. Вы можете посмотреть сайт keylength.com и этот answer. Вы увидите, что даже SHA-256 имеет довольно большой запас прочности. Более того, алгоритм HMAC в значительной степени не обращает внимания на атаки на основной алгоритм хеширования. Поэтому даже вы можете безопасно использовать HMAC-SHA1
Возможно ли использовать шифрование HS512 с помощью java JWT от auth0?
Я ознакомился с кодом, и это возможно (но не задокументировано). Используйте что-то похожее на
JWTSigner.Options options = new JWTSigner.Options();
options.setAlgorithm(Algorithm.HS512);
jwtSigner.sign(claims, options);