1 packagecom.hjp.exercise.md5test;2
3 importjava.io.UnsupportedEncodingException;4 importjava.security.MessageDigest;5 importjava.security.NoSuchAlgorithmException;6 importjava.security.SecureRandom;7 importjava.util.Arrays;8
9 public classMd5SaltTool {10
11 private static final String HEX_NUMS_STR="0123456789ABCDEF";12 private static final Integer SALT_LENGTH = 12;13
14 /**
15 * 将16进制字符串转换成字节数组16 *@paramhex17 *@return
18 */
19 public static byte[] hexStringToByte(String hex) {20 int len = (hex.length() / 2);21 byte[] result = new byte[len];22 char[] hexChars =hex.toCharArray();23 for (int i = 0; i < len; i++) {24 int pos = i * 2;25 result[i] = (byte) (HEX_NUMS_STR.indexOf(hexChars[pos]) << 4
26 | HEX_NUMS_STR.indexOf(hexChars[pos + 1]));27 }28 returnresult;29 }30
31 /**
32 * 将指定byte数组转换成16进制字符串