SHA加密字符串

 关键代码

SHA是安全散列算法,是一种不可逆的数据加密算法,现在已经成为公认的最安全的散列算法之一

import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;

public class MySHA {
	public static String getMD5(String str) {
        String reStr = null;
        try {
            MessageDigest sha = MessageDigest.getInstance("SHA");//创建具有指定算法名称的信息摘要
            sha.update(str.getBytes());//使用指定的字节更新摘要。
            byte ss[] = sha.digest();//通过执行诸如填充之类的最终操作完成哈希计算
            reStr = bytes2String(ss);
        } catch (NoSuchAlgorithmException e) {

        }
        return reStr;

    }
    
    private static String bytes2String(byte[] aa) {//将字节数组转换为字符串
        String hash = "";
        for (int i = 0; i < aa.length; i++) {//循环数组
            int temp;
            if (aa[i] < 0)			//判断是否是负数
                temp = 256 + aa[i];
            else
                temp = aa[i];
            if (temp < 16)
                hash += "0";
            hash += Integer.toString(temp, 16);//转换为16进
        }
        hash = hash.toUpperCase();				//转换为大写
        return hash;
    }
}

 

你可能感兴趣的:(SHA加密字符串)