• 工具类--MD5Utils


    public class MD5Utils {

    private static final String[] HEX_DIGITS = { "0", "1", "2", "3", "4", "5",
    "6", "7", "8", "9", "a", "b", "c", "d", "e", "f" };

    private static String byteArrayToHexString(byte b[]) {
    StringBuffer resultSb = new StringBuffer();
    for (int i = 0; i < b.length; i++) {
    resultSb.append(byteToHexString(b[i]));
    }

    return resultSb.toString();
    }

    private static String byteToHexString(byte b) {
    int n = b;
    if (n < 0) {
    n += 256;
    }
    int d1 = n / 16;
    int d2 = n % 16;
    return HEX_DIGITS[d1] + HEX_DIGITS[d2];
    }

    /**
    * 字符串MD5加密
    * @param str
    * @return
    */
    public static String encode(String str) throws Exception {
    if (StringUtils.hasText(str)) {
    return DigestUtils.md5DigestAsHex(str.getBytes());
    }
    return null;
    }

    public static String md5Encode(String origin, String charsetname) {
    String resultString = null;
    try {
    resultString = new String(origin);
    MessageDigest md = MessageDigest.getInstance("MD5");
    if (charsetname == null || "".equals(charsetname)) {
    resultString = byteArrayToHexString(md.digest(resultString
    .getBytes()));
    } else {
    resultString = byteArrayToHexString(md.digest(resultString
    .getBytes(charsetname)));
    }
    } catch (Exception exception) {
    }
    return resultString;
    }

    }
  • 相关阅读:
    算法题-数组算法题
    Linux-shell脚本的调试和追踪
    Linux-循环loop
    Linux-条件判断式
    Linux-第一行#!/bin/bash的含义
    Linux-排序命令:sort、wc、uniq
    Linux-选取命令:cut grep
    Linux-shell变量
    Linux-重定向、追加、tee
    Linux三剑客-sed编辑文本
  • 原文地址:https://www.cnblogs.com/tieandxiao/p/10931458.html
Copyright © 2020-2023  润新知