zoukankan      html  css  js  c++  java
  • 支付宝网站即时支付开发,MD5加签名规则处理代码展示

     正文前先来一波福利推荐:

    福利一:

    百万年薪架构师视频,该视频可以学到很多东西,是本人花钱买的VIP课程,学习消化了一年,为了支持一下女朋友公众号也方便大家学习,共享给大家。

    福利二:

    毕业答辩以及工作上各种答辩,平时积累了不少精品PPT,现在共享给大家,大大小小加起来有几千套,总有适合你的一款,很多是网上是下载不到。

    获取方式:

    微信关注 精品3分钟 ,id为 jingpin3mins,关注后回复   百万年薪架构师 ,精品收藏PPT  获取云盘链接,谢谢大家支持!

    ------------------------正文开始---------------------------

    一、如果传入进来的Object对象,最后生成制定格式的字符换 text

    list拼接成字符串,map中的所有元素,按照“参数=参数值”的模式用“&”字符拼接成字符串,list的元素之间用“|”字符拼接
    private static String getSignText(Object obj) {
        if (obj instanceof Collection) {
            return getListSignText((Collection<Object>) obj);
        } else if (obj instanceof Map) {
            return getMapSignText((Map) obj);
        } else if (obj instanceof Number) {
            return obj.toString();
        } else if (obj != null) {
            return obj.toString();
        } else {
            return "";
        }
    }
    

     对list对象继续进行递归处理:

        private static String getListSignText(Collection list) {
            StringBuffer paramBuffer = new StringBuffer();
            for (Object obj : list) {
                paramBuffer.append(getSignText(obj)).append("|");
            }
            return paramBuffer.substring(0, paramBuffer.length() - 1);
        }
    

      最终对map对象的处理:

    private static String getMapSignText(Map map) {
            String[] keys = (String[]) map.keySet().toArray(new String[0]);
            // 1. 参数名按照ASCII码表升序排序
            Arrays.sort(keys);
            // 2. 按照排序拼接参数名与参数值
            StringBuffer paramBuffer = new StringBuffer();
            for (String key : keys) {
                paramBuffer.append(key).append("=").append(getSignText(map.get(key)) == null ? "" : getSignText(map.get(key))).append("&");
            }
            return paramBuffer.substring(0, paramBuffer.length() - 1);
        }
    

      

    二、对制定格式的 text  进行 MD5 加密:
    DigestUtils.md5Hex(text.getBytes(charsetName));


  • 相关阅读:
    cocos2d tiledmap
    cocos2d 例子编辑器
    cocos2d 粒子系统
    【leetcode】矩阵中的幸运数
    【leetcode】魔术索引
    【leetcode】多数元素
    【leetcode】整理字符串
    【leetcode】通过翻转子数组使两个数组相等
    【leetcode】珠玑妙算
    【leetcode】距离顺序排列矩阵单元格
  • 原文地址:https://www.cnblogs.com/gxyandwmm/p/10870888.html
Copyright © 2011-2022 走看看