2016-07-20 6 views
5

Существует ли практическая разница между алгоритмами шифрования HS256 и HS512 или дополнительная защита от избыточного избыточного ключа по сравнению с уже нерушимым ключом? Какой я должен использовать для шифрования токена JWT?HMAC 256 vs HMAC 512 Шифрование подписи JWT

Можно ли использовать шифрование HS512 с помощью auth0's java JWT?

ответ

4

Алгоритм используется для выполнения цифровой подписи (не шифрования) над заголовком и полезной нагрузкой маркера. Если вы хотите зашифровать маркер полезной нагрузки вам нужно применить 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);