提出关于jwt加密的问题
发布于 7 年前 作者 fren 5092 次浏览 来自 问答

https://developers.weixin.qq.com/doc/aispeech/platform/INTERFACEDOCUMENT.html

我使用了网上各种JWT加密的方法都无法正确的对JWT第三部分进行加密

用jwt.io的就可以通过

前两个部分我完全按照方法进行加密,发现jwt.io会按照标准添加字段后再BASE64生成前两个部分在进行加密

这就导致加密出来的第三部分完全不同与第一部分

我现在就是想问下jwt id [jti]这一部分如何填?

以下是我的易语言源码 如果方便的话麻烦提供个能直接一次性调用生成JWT的DLL 或者JS 或者提供一个不安全的接口也行

nodejs各种报错和没有用法的JWT C#源码要把我搞疯了

如果我说的有问题麻烦指正下 麻烦一定要看下啊

2 回复

nodejs各种报错,报什么错,好对症下药

我最近也在用易语言做,只剩下jwt这步,生成的token用jwt.io校验成功,但post到微信的接口就校验错误,token前两部分应该没问题,主要是第三部分的sign。

jti我用uuid

新增一个长文本常量 UUIDFUN,内容如下:

function uuid() {
    var s = [];
    var hexDigits = "0123456789abcdef";
    for (var i = 0; i < 36; i++) {
        s[i] = hexDigits.substr(Math.floor(Math.random() * 0x10), 1);
    }
    s[14] = "4"// bits 12-15 of the time_hi_and_version field to 0010
    s[19] = hexDigits.substr((s[19] & 0x3) | 0x8, 1);  // bits 6-7 of the clock_seq_hi_and_reserved to 01
    s[8] = s[13] = s[18] = s[23] = "-";

    var uuid = s.join("");
    return uuid;
}
.版本 2

.局部变量 UUIDGEN, 类_脚本组件
.局部变量 UUID, 文本型

UUIDGEN.执行 (#UUIDFUN)
UUID = UUIDGEN.计算表达式 (“uuid()”)
键值表参数.置值 (“jti”, UUID)

回到顶部