开发者社区> 问答> 正文

钉钉免登陆签名

public static String getSign(String ticket, String nonceStr, long timeStamp, String url) throws Exception {  
        String plain = "jsapi_ticket=" + ticket + "&noncestr=" + nonceStr + "×tamp=" + String.valueOf(timeStamp)  
                + "&url=" + url;  
        try {  
            MessageDigest sha1 = MessageDigest.getInstance("SHA-1");    //安全hash算法  
            sha1.reset();  
            sha1.update(plain.getBytes("UTF-8"));                       //根据参数产生hash值  
            return bytesToHex(sha1.digest());  
        } catch (NoSuchAlgorithmException e) {  
            throw new Exception(e.getMessage());  
        } catch (UnsupportedEncodingException e) {  
            throw new Exception(e.getMessage());  
        }  


    }  
      
    //将bytes类型的数据转化为16进制类型  
    private static String bytesToHex(byte[] hash) {                    //将字符串转化为16进制的数据  
        Formatter formatter = new Formatter();  
        for (byte b : hash) {  
            formatter.format("%02x", b);  
        }  
        String result = formatter.toString();  
        formatter.close();  
        return result;  
    }
获取的signature和在测试平台上的不一样,请问哪里出问题了,谢谢!

展开
收起
春笋冒 2017-09-14 17:29:44 3265 0
1 条回答
写回答
取消 提交回答
  • 旺旺:nectar2。
    楼主您好,

    为您将帖子移到钉钉的版块,希望能获得更快的回复。
    2017-09-15 10:05:52
    赞同 展开评论 打赏
问答分类:
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
钉钉小程序——为工作方式插上翅膀 立即下载
钉钉客户端自动化的应用 立即下载
使命必达 —— 钉钉企业级 消息服务的机遇与挑战 立即下载