关键代码
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;
}
}