zoukankan      html  css  js  c++  java
  • 支付宝支付参数MD5签名

        protected String signMD5(List<String> paramNames, String key, String charset)
                throws UnsupportedEncodingException {
            if (key == null)
                throw (new IllegalArgumentException(
                        "No KEY, no sign. Please check your configuration."));
    
            StringBuilder sb = new StringBuilder().append(
                    this.toQueryString(paramNames)).append(key);
    
            String sign = CryptoUtil.byteToHex(CryptoUtil.MD5Digest(sb.toString()
                    .getBytes(charset)));
    
            return (sign);
        }

    protected String toQueryString(List<String> paramNames) {
            URLBuilder ub = new URLBuilder();
    
            for (String key : paramNames)
                ub.appendParam(key, this.getProperty(key));
    
            return (ub.toString());
        }

    public URLBuilder appendParam(String key, String value) {
            if (key != null && value != null) {
                this.appendParamPrefix();
                this.builder.append(key).append('=');
                this.builder.append(value);
            }
    
            return (this);
        }
        public static String byteToHex(byte[] bytes) {
            StringBuilder sb = new StringBuilder(bytes.length * 2);
    
            for (int i = 0; i < bytes.length; i++)
                sb.append(String.format("%02x", bytes[i] & 0xff));
    
            return (sb.toString());
        }
        public static byte[] MD5Digest(byte[] in) {
            try {
                MessageDigest md = MessageDigest.getInstance("MD5");
    
                byte[] out = md.digest(in);
    
                return (out);
            } catch (NoSuchAlgorithmException ex) {
                // never occur
                ex.printStackTrace();
                return (null);
            }
        }
     
    
    
    
     
  • 相关阅读:
    全文检索原理
    UBER的故事
    grails 优缺点分析
    微博轻量级RPC框架Motan
    基于redis 实现分布式锁的方案
    eggjs中cache-control相关问题
    mysql导入导出数据
    jenkins项目用户权限相关
    jenkins+gogs,服务随代码更新
    js/nodejs导入Excel相关
  • 原文地址:https://www.cnblogs.com/wjlstation/p/5973201.html
Copyright © 2011-2022 走看看