前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >腾讯AI-JavaAPI示例代码

腾讯AI-JavaAPI示例代码

原创
作者头像
小帅丶
发布2018-01-17 08:58:57
9430
发布2018-01-17 08:58:57
举报
文章被收录于专栏:XAIXAI

https://gitee.com/xshuai/ai/tree/master/AIDemo/src/main/java/com/xs/tencent

SIGN签名生成算法-JAVA版本

代码语言:java
复制
	/**

	 * SIGN签名生成算法-JAVA版本

	 * @param HashMap<String,String> params 请求参数集,所有参数必须已转换为字符串类型

	 * @return 签名

	 * @throws IOException

	 */
	public static String getSignature(HashMap<String,String> params) throws IOException {
	        // 先将参数以其参数名的字典序升序进行排序

	        Map<String, String> sortedParams = new TreeMap<>(params);
	        Set<Map.Entry<String, String>> entrys = sortedParams.entrySet();
	        // 遍历排序后的字典,将所有参数按"key=value"格式拼接在一起

	        StringBuilder baseString = new StringBuilder();
	        for (Map.Entry<String, String> param : entrys) {
	            //sign参数 和 空值参数 不加入算法

	            if(param.getValue()!=null && !"".equals(param.getKey().trim()) && !"sign".equals(param.getKey().trim()) && !"".equals(param.getValue().trim())) {
	                baseString.append(param.getKey().trim()).append("=").append(URLEncoder.encode(param.getValue().trim(),"UTF-8")).append("&");
	            }
	        }
	        System.err.println("未拼接APPKEY的参数:"+baseString.toString());
	        if(baseString.length() > 0 ) {
	            baseString.deleteCharAt(baseString.length()-1).append("&app_key="+TencentAPI.APP_KEY_AI);
	        }
	        System.err.println("拼接APPKEY后的参数:"+baseString.toString());
	        // 使用MD5对待签名串求签

	        try {
	        	String sign = MD5.getMD5(baseString.toString());
	        	return sign;
	        } catch (Exception ex) {
	            throw new IOException(ex);
	        }
	    }

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档