zoukankan      html  css  js  c++  java
  • 【java】hash一致性算法的实现区别【标题暂定】

    下面两个都是在生成sign签名时候用到的方式,有什么区别?

    第一种:

    import org.apache.commons.codec.digest.DigestUtils;
    
    String sign = DigestUtils.md5Hex(string);

    第二种:

    方法片段:
    
    import java.security.MessageDigest;
    
    try {
    
                byte[] array = computeHash(params);
    
                StringBuilder stringBuilder = new StringBuilder();
    
                for (int i = 0; i < array.length; i++) {
    
                    byte b = array[i];
    
                    String text = Integer.toHexString(b & 0xFF);
    
                    if (text.length() == 1) {
                        stringBuilder.append("0");
                    }
                    stringBuilder.append(text);
                }
    
                return stringBuilder.toString();
    
            } catch (NoSuchAlgorithmException e) {
                e.printStackTrace();
            }
    
    
    ============================
    
    public static byte[] computeHash(String input) throws NoSuchAlgorithmException {
            MessageDigest digest = MessageDigest.getInstance("MD5");
            digest.reset();
            byte[] utf8bytes = null;
            try {
                utf8bytes = input.getBytes("UTF-8");
                // digest.update(utf8bytes);
            } catch (UnsupportedEncodingException e) {
                e.printStackTrace();
            }
            return digest.digest(utf8bytes);
        }

    对比一下两种的区别  

  • 相关阅读:
    nsstring -->nsdictionary
    卫辉市,
    iPhone 手机内存,
    连接错误,等的好漫长,
    BZOJ 1631==USACO 2007== POJ 3268 Cow Party奶牛派对
    POJ 2837 Til the Cows Come Home
    POJ 1285 确定比赛名次
    Codevs 2833 奇怪的梦境
    Codevs 1063 合并果子
    Codevs 1231 最优布线问题
  • 原文地址:https://www.cnblogs.com/sxdcgaq8080/p/9015488.html
Copyright © 2011-2022 走看看