大飞_dafei

导航

Java里不为人知的秘密(01)之常见使用

Java里不为人知的秘密(01)之常见使用

01)获取字符串Hash值

package com.example.fei.common.utils;

import java.math.BigInteger;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;

public class OtherUtils {
    private static String bytesToHexString(byte[] bytes) {
        // http://stackoverflow.com/questions/332079
        StringBuilder sb = new StringBuilder();
        for (byte aByte : bytes) {
            String hex = Integer.toHexString(0xFF & aByte);
            if (hex.length() == 1) {
                sb.append('0');
            }
            sb.append(hex);
        }
        return sb.toString();
    }

    public static String getHashStr(String str) throws NoSuchAlgorithmException {
        // String str = "fei";
        // MessageDigest mDigest  = MessageDigest.getInstance("SHA");
        MessageDigest mDigest  = MessageDigest.getInstance("MD5");
        mDigest.update(str.getBytes());
        // System.out.println(new BigInteger(mDigest.digest()));
        // System.out.println(bytesToHexString(mDigest.digest()));

        // String cacheKey = String.valueOf(str.hashCode());
        // System.out.println(cacheKey);

        return bytesToHexString(mDigest.digest());
    }
}
View Code

 

posted on 2022-02-07 17:01  大飞_dafei  阅读(23)  评论(0编辑  收藏  举报