SHA算法摘要处理
byte[] input="sha".getBytes();//待做消息摘要算法的原始信息,可以是任意字符串
MessageDigest sha=MessageDigest.getInstance("SHA");//使用“SHA”算法,构造MessageDigest对象
sha.update(input);//更新摘要信息
byte[] output=sha.digest();//获取消息摘要结果
SHA--Secure Hash Algorithm,安全散列算法
public class SHA
{
public static byte[]
encodeSHA(byte[] data) throws NoSuchAlgorithmException{
//初始化MessageDigest
MessageDigest md=MessageDigest.getInstance ("sha" );
// MessageDigest md=MessageDigest.getInstance("sha-256");
// MessageDigest md=MessageDigest.getInstance("sha-384");
// MessageDigest md=MessageDigest.getInstance("sha-512");
return md.digest(data);
}
public static String
encodeSHAHex(byte[] data) throws Exception{
byte[]
b=encodeSHA(data);
return new String(Hex.encode(b)); //十六进制处理
}
public static void main(String[]
args) throws Exception {
// TODO Auto-generated
method stub
String str= "sha消息摘要" ;
String data1= encodeSHAHex(str.getBytes());
System. out.println(data1);
}
}
public class SHA
{
public static String
encodeSHA(byte[] data) throws NoSuchAlgorithmException{
// return DigestUtils.sha(data);//对sha算法进行包装,返回的是String
// return DigestUtils.shaHex(data);//不但包装,而且进行十六进制处理
// return DigestUtils.sha256(data);
// return DigestUtils.sha256Hex(data);
// return DigestUtils.sha384(data);
// return DigestUtils.sha384Hex(data);
// return DigestUtils.sha512(data);
return DigestUtils.sha512Hex(data);
}
public static void main(String[]
args) throws Exception {
// TODO Auto-generated
method stub
String str= "sha消息摘要" ;
String data1= encodeSHA(str.getBytes());
System. out.println(data1);
}
}