使用Golang中的任何类型的类型加密(例如AES等)对JWT进行加密和解密

我正在Go中搜索一个库,该库可以为我提供加密发送和解密以读取内容的功能 当用户登录Golang中的api rest时,我发送的JWT。 </ p>

我已经看到了很多有关AES的示例,但是由于诸如“”这样的符号,我尝试在AES中加密JWT时遇到了很多问题。 或“-”给我带来麻烦。 </ p>

我知道我必须使用32个字节的密钥,才能将基数更改为64。但是仅使用最简单的示例,使用密码进行简单的哈希处理, 在加密/解密时总是相同的错误。 </ p>

例如:</ p>

  crypto / aes:无效的密钥大小X 
</ code> </ pre>

我使用类似以下代码的堆栈溢出答案: AES加密Golang和Python </ a > </ p>

我已经对我的令牌进行了签名,我想在签名后添加新的安全级别。</ p>

  claims:= Claim {

用户:user,
StandardClaims:djwt.StandardClaims {
ExpiresAt:time.Now()。Add(time.Hour * 1).Unix(),
颁发者:“ App Timer”,
},

}

token:= djwt.NewWithClaims(djwt.SigningMethodRS256,声明)
结果,错误:= token.SignedString(privateKey)

if err!= nil {
log.Fatal(“ TokenSingingError”)

}
</ code> </ pre>
</ div>

展开原文

原文

I am searching for a library in Go that can give to me the capability of crypting for send and decrypting for reading a JWT that I send when a user is logged in my api rest made in Golang.

I have seen a lot of examples with AES, but I have a lot of issues trying to encrypt in AES a JWT because signs like "." or "-" give me problems.

I know that I must use a 32 bytes key, that I can change the base to 64. But only using the most simple example, making a simple hash, using the cipher, I have always the same error at crypting/decrypting.

For instance :

crypto/aes: invalid key size X

I use the same code like this Stack Overflow answer :AES Encryption Golang and Python

I have already my token signed, I want to add a new level of security after signing.

claims := Claim{
    User: user,
    StandardClaims: djwt.StandardClaims{
        ExpiresAt: time.Now().Add(time.Hour * 1).Unix(),
        Issuer: "App Timer",
    },
}

token := djwt.NewWithClaims(djwt.SigningMethodRS256, claims)
result, err := token.SignedString(privateKey)

if err != nil {
    log.Fatal("TokenSingingError")
}

dri8163
dri8163 在您提出的不支持JWE的库文档中明确提到。无论如何,像github.com/square/go-jose/blob/master/README.md这样的另一个库也可以完成这项工作
一年多之前 回复
duan0818
duan0818 您是否尝试过github.com/dgrijalva/jwt-go?
一年多之前 回复
douzhao2047
douzhao2047 编辑您的帖子以包含您的代码-如果看不到它,我们无法告诉您它有什么问题!确保它是一个最小的可复制示例。
一年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐