如果没有它可以解密,那么签署jwt有什么意义呢

use*_*881 0 security encryption node.js jwt express-jwt

我正在尝试使用jwt,在进行一些研究时,我想到了这个 JWT DECODER,我想我必须输入令牌和我的密钥来解密令牌.

但我很惊讶看到它只需要令牌来解密它.如果没有秘密密钥可以解密,有什么用呢.令牌中的所有用户数据都将向任何人开放.

我错过了什么吗?

我的另一个问题是jwt如何帮助防止MITM

谢谢

Iri*_*ium 6

令牌经过签名和编码(未加密),因此可以在不需要密钥的情况下导出原始数据.该签名允许令牌与公钥任何人都可以验证,但只能由持有私钥的实体生成签名本身.

由于这些属性,可以检测到对数据的任何更改,并且我们可以可靠地确定谁发出了令牌.这可以防止MITM类型,因为MITM无法访问私钥,因此无法为将通过验证的令牌生成签名.