HMAC 256与HMAC 512 JWT签名加密

Tuo*_*nen 6 authentication encryption http digital-signature jwt

HS256和HS512加密算法之间是否存在实际差异,或者与已经牢不可破的密钥相比,是否存在更长的密钥冗余的附加安全性?我应该使用哪一个来加密JWT令牌?

甚至可以在auth0的java JWT中使用HS512加密吗?

ped*_*ofb 5

该算法用于对令牌的头部和有效载荷执行数字签名(而不是加密).如果要加密令牌有效负载,则需要应用JWE标准(请参阅RFC)

HS256和HS512加密算法之间是否存在实际差异,或者与已经牢不可破的密钥相比,是否存在更长的密钥冗余的附加安全性?我应该使用哪一个来加密JWT令牌?

HS256表示HMAC-SHA256.与HS512的区别在于哈希方法本身的优势.你可以看一下keylength.com网站和这个答案.你会发现即使是SHA-256也有相当大的安全边际.更重要的是,HMAC算法几乎无视对底层哈希算法的攻击.所以即使你可以安全地使用HMAC-SHA1.

甚至可以在auth0的java JWT中使用HS512加密吗?

我看了一下代码,有可能(但没有记录).使用类似的东西

JWTSigner.Options options = new JWTSigner.Options();
options.setAlgorithm(Algorithm.HS512);
jwtSigner.sign(claims, options);
Run Code Online (Sandbox Code Playgroud)