当前位置: 首页 > news >正文

2019做网站wordpress category.php制作

2019做网站,wordpress category.php制作,直播软件开发需要多少钱,iis网站出乱码文章目录 1 问题背景2 思路3 代码实现 1 问题背景 在发起支付的时候#xff0c;一般都需要对发送的请求参数进行加密或者签名#xff0c;下文简称这个过程为“签名”。行业内比较普遍的签发算法有#xff1a; #xff08;1#xff09;按支付渠道给定的字段排序进行拼接一般都需要对发送的请求参数进行加密或者签名下文简称这个过程为“签名”。行业内比较普遍的签发算法有 1按支付渠道给定的字段排序进行拼接最后再拼一个密钥形成一个待签名的字符串tobeSign然后对这个tobeSign进行MD5编码。比如MD5(商户号子应用ID商户订单号流水号金额币种密钥) 2针对请求参数中的字段仅针对第一层的字段不需要针对字段里面的字段即不需要递归进行字典升序排序用格式keyvalue和连接符拼接最后再拼一个密钥再用MD5编码比如MD5(avalue1bvalue2key密钥) 这次遇到一种比较有趣的签名算法笔者认为是基于第2的变种渠道方要求针对请求参数中的字段如果该字段是对象类型那么该字段里面的字段也要按字典升序排序进行拼接相当于是递归字典升序困难度有一点提升 2 思路 文字描述得有点抽象可以结合第3小节的代码实现来看 遍历每一层字段都用一个容器存起来要按字典升序存。维护一个层序遍历的容器——双向队列。将前面升序的数据入队。遍历队列的每一元素元素从队头出队再遍历元素中的字段是否是对象类型或者数组类型使用一个容器存起来要按字典降序存存完后使用头插法入队。使用头插法倒叙入队每一次从队头遍历那么每一次遍历都是升序遍历。 3 代码实现 解释代码中的BeansUtil.bean2MapIgnoreEmptyStr()是将对象转成一个Map。SymbolConstant.EQUAL的值是一个SymbolConstant.AND的值是一个 public static String buildToBeSignStr(Object payReq) {// 将对象转成一个MapMapString, String map BeansUtil.bean2MapIgnoreEmptyStr(payReq);TreeMapString, String treeMap new TreeMap(map);ListString result new LinkedList();for (Map.EntryString, String entry : treeMap.entrySet()) {// 层序遍历容器DequeMap.EntryString, String bfsHolder new LinkedList();// 结果暂存容器ListString tmpResult new LinkedList();// 入队bfsHolder.offer(entry);while (CollectionUtils.isNotEmpty(bfsHolder)) {Map.EntryString, String pollEntry bfsHolder.poll();String pKey pollEntry.getKey();String pVal pollEntry.getValue();if (StringUtils.isNotBlank(pVal) JSONValidator.from(pVal).validate()) {// 是json串仍需要继续解析log.info(value of key:{} is json str., pKey);// 解析JSON字符串Object parsedObject JSON.parse(pVal);boolean isJSONObject parsedObject instanceof JSONObject;boolean isJSONArray parsedObject instanceof JSONArray;if (isJSONObject || isJSONArray) {MapString, String map1 null;if (isJSONObject) {log.info(JSON字符串是一个对象);JSONObject jsonObject (JSONObject) parsedObject;// 处理对象map1 BeansUtil.buildMapFromJsonStr(pVal);} else if (isJSONArray) {System.out.println(JSON字符串是一个数组);JSONArray jsonArray (JSONArray) parsedObject;// 处理数组for (Object o : jsonArray) {map1 BeansUtil.bean2MapIgnoreEmptyStr(o);}}if (MapUtils.isNotEmpty(map1)) {// 倒叙排序MapString, String treeMap1 new TreeMap(Comparator.reverseOrder());treeMap1.putAll(map1);// 插入到队头Streams.of(treeMap1.entrySet()).forEach(bfsHolder::offerFirst);}} else {tmpResult.add(pKey SymbolConstant.EQUAL pVal);}} else {tmpResult.add(pKey SymbolConstant.EQUAL pVal);}}if (CollectionUtils.isNotEmpty(tmpResult)) {String tmpResultStr String.join(SymbolConstant.AND, tmpResult);result.add(tmpResultStr);}}if (CollectionUtils.isNotEmpty(result)) {return String.join(SymbolConstant.AND, result);}return ;}
http://www.hkea.cn/news/14581391/

相关文章:

  • 做公司网站需要营业执照吗企业信用等级查询系统
  • 建设银行签证预约网站七台河做网站
  • 洛阳专业做网站多少钱wordpress 5.2中文版
  • 神东集团网站建设苏州有哪些做网站
  • 修改图片网站wordpress开发者中心
  • 外贸类网站模板做统计的网站
  • 郑州网站开发douyanetopenwrt wordpress
  • 民族团结 网站建设秦皇岛市做公司网站的
  • 宝安网站设计哪家最好2023房地产最新消息
  • 手机的网站建设目标是什么意思嘉兴做网站多少钱
  • 做+淘宝客最大的网站是叫什么沈阳网站建设定制
  • 公司展示网站制作电子商务网站建设运营
  • 建设网站要注意什么怎样用word2003做网站
  • 网站定制业务贵州省都匀市网站建设
  • 镇江网站关键词正规营销型网站建设公司
  • 自助网站建设软件温州网站建设制作
  • 模块式网站制作做外贸soho 需要有网站吗
  • 五合一建站服装设计公司属于什么行业类型
  • 51zwd一起做网店seo网站推广排名
  • 公司网站模板大全做网站怎么调整图片间距
  • 企业网站建设存在的不足与困难WordPress 建电商网站
  • 什么浏览器好用可以看任何网站wordpress 精仿36kr
  • 上海黄浦 网站制作门户网站安全建设
  • 三网合一网站开发是什么开发公司资质质量体系
  • 做网站用tomcat上海做网站的月薪
  • 上海住房城乡建设网站内蒙古网站制作公司
  • 重庆佳宇建设集团网站综合门户网站有哪些
  • 做网站用什么网最好wordpress表单统计插件
  • wap手机网站 作用开发手机网站多少钱
  • 上海元山建设有限公司网站免费模板网站下载