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);
}
}