我有一个关于在Go中使用HS256方法的JWT签名的问题。我使用这个导入"github.com/dgrijalva/jwt-go“

它不需要密钥长度>= 256位(32字节)?

假设我有一个用Golang编写的服务器应用程序,它给出的JWT签名密钥长度为16位。当我尝试用相同的密钥在客户端应用程序(用Java编写)中验证这个JWT时,它给出了一个错误:

io.jsonwebtoken.security.WeakKeyException: The specified key byte array is 16 bits which is not secure enough for any JWT HMAC-SHA algorithm.

好吧,这个错误是有意义的,因为密钥长度小于256位,但是服务器应用程序如何能够生成长度小于256位的密钥签名的JWT而不给出错误呢?

下面是创建访问令牌的函数: