开发者社区> 问答> 正文

创建套件回调URL总是提示返回字符串不匹配

以下是回调页面:

        //url中的签名
        string msgSignature = Request["signature"];
        //url中的时间戳
        string timeStamp = Request["timestamp"];
        //url中的随机字符串
        string nonce = Request["nonce"];
        //post数据包数据中的加密数据
        string encryptStr = "";


        Stream sm = Request.InputStream;//获取post正文
        int len = (int)sm.Length;//post数据长度
        byte[] inputByts = new byte[len];//字节数据,用于存储post数据
        sm.Read(inputByts, 0, len);//将post数据写入byte数组中
        sm.Close();//关闭IO流


        encryptStr = Encoding.UTF8.GetString(inputByts);//转为String
        encryptStr = encryptStr.Replace("{\"encrypt\":\"", "").Replace("\"}", "");
  
        string res = "success";
        timeStamp = Helper.timeStamp().ToString();
        string encrypt1 = "";
        string signature1 = "";
        DingTalkCrypt dingTalk = new DingTalkCrypt("123456", "gy52wtop7ck9stdyo47t3ih1ndz4q6vz1x8no7mh6es", "suite4xxxxxxxxxxxxxxx");
        dingTalk.EncryptMsg(res, timeStamp, nonce, ref encrypt1, ref signature1);
        Hashtable jsonMap = new Hashtable
                {
                    {"msg_signature", signature1},
                    {"encrypt", encrypt1},
                    {"timeStamp", timeStamp},
                    {"nonce", nonce}
                };
        string result = JsonConvert.SerializeObject(jsonMap);
        Response.Write(result);


感觉就是获取三个参数和一个pos的值,然后加密传回去,不知道哪里出了问题,求大神帮忙看一下啊。。。

展开
收起
山谷大熊 2016-10-20 16:01:58 3537 0
4 条回答
写回答
取消 提交回答
  • 看看是不是这个问题: https://bbs.aliyun.com/read/297272.html?spm=5176.bbsr297311.0.0.mtu9FJ

    -------------------------

    加我钉钉 18600578280

    2016-10-24 10:50:13
    赞同 展开评论 打赏
  • Re创建套件回调URL总是提示返回字符串不匹配
    哥们,请问解决了吗,跟你同样的问题,我用日志记录了所有数据,发回的数据在本地解析出来也没有问题,但始终告诉我发回的字符串不匹配,验证不通过

    -------------------------

    回 3楼紫夏桫椤的帖子
    接受url:*******/callback.aspx?signature=cebf07a78935cff5a4eeb6d7c62d2c706242e5c3&timestamp=1477042003421&nonce=aBJqvgy2
    解析出post数据encrypt明文:
    {"EventType":"check_create_suite_url","Random":"OIBoT1v2","TestSuiteKey":"suite4xxxxxxxxxxxxxxx"}
    加密明的Random字段后回发的json:
    {"msg_signature":"cebf07a78935cff5a4eeb6d7c62d2c706242e5c3","timeStamp":"1477042003421","nonce":"aBJqvgy2","encrypt":"U75Ks2XNNlbJ5AnvlH7oZAuA/X2om3MGTQpSfYlub76GDVvl1RZBwN6wY6h51NbAz3y9CJNgzKaBdok+sEhxlw=="}
    且,回发的random字段我在本地测试解析出来与接收到的一致

    -------------------------

    回 4楼赵挺1的帖子
    接受url:*******/callback.aspx?signature=cebf07a78935cff5a4eeb6d7c62d2c706242e5c3&timestamp=1477042003421&nonce=aBJqvgy2
    解析出post数据encrypt明文:
    {"EventType":"check_create_suite_url","Random":"OIBoT1v2","TestSuiteKey":"suite4xxxxxxxxxxxxxxx"}
    加密明的Random字段后回发的json:
    {"msg_signature":"cebf07a78935cff5a4eeb6d7c62d2c706242e5c3","timeStamp":"1477042003421","nonce":"aBJqvgy2","encrypt":"U75Ks2XNNlbJ5AnvlH7oZAuA/X2om3MGTQpSfYlub76GDVvl1RZBwN6wY6h51NbAz3y9CJNgzKaBdok+sEhxlw=="}
    且,回发的random字段我在本地测试解析出来与接收到的一致

    -------------------------

    回 7楼赵挺1的帖子
    回复错人了

    -------------------------

    回 7楼赵挺1的帖子
    是,我始终不行,你看到我上边发的过程了么,有发现问题吗,一直返回字符串不匹配

    -------------------------

    回 8楼山谷大熊的帖子
    一直没解决,始终是“”返回字符串不匹配“”,实在不知道哪里不匹配了,数据加密解密都没问题,而且我的返回也严格按照文档的格式
    {"msg_signature":"f8abfc2111ced2c9f76ad31ff5b4af973ba768ef","timeStamp":"1477645442187","nonce":"XG8wlSL9","encrypt":"kaBtCyFZVg6tPXrE2Tw9v11MLm+o8Z8AQ4U+V6/1pT3TpZ4CAJ4IbKfXXqTiECZdPZXUcnIFdIOuR0BiY/HD1Q=="}
    最后一步我们自己构造的json返回,这个json不需要加密吧,直接这样返回就行吧
    2016-10-24 10:23:08
    赞同 展开评论 打赏
  • Re创建套件回调URL总是提示返回字符串不匹配
    看看是不是这个问题
    https://bbs.aliyun.com/read/297272.html?spm=5176.bbsl276.0.0.5Wwa1s

    再试试看
    2016-10-20 19:46:45
    赞同 展开评论 打赏
  • Re创建套件回调URL总是提示返回字符串不匹配
    而且,我本地测试了一下,看到解密最终的到的random和原来的是匹配的。。。求大神来看一下

    -------------------------

    回 3楼紫夏桫椤的帖子
    第二天重新来一遍就进去了。。。一直没想明白是啥问题。。。一脸懵逼,你解决了么哥们儿,如果是.net做的,我可以帮你一起分析一下
    2016-10-20 17:27:37
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载