--初学者使用
网上关于HmacMD5加密方式太少,仅有的文章 初学者来说也是晦涩难懂。
下面对Hmac加密进行代码编写,其它两种只是调用方式不同,不再赘述。初学者只需要新建一个类,然后将下面的代码拷进类中即可
备注:由于数组未重写toString方法,所以不要将方法返回的数组类型直接打印出来
public static void main(String[] args) throws Exception {
//Hmac加密
byte[] bytes = encryptHMAC(sb, key);
String string = "";
for(byte b: bytes){
string +=b;
}
System.out.println(string);
}
public static final String KEY_SHA="SHA";
public static final String KEY_MD5="MD5";
public static final String KEY_MAC="HmacMD5";
public static byte[] encryptMD5(byte[] data) throws Exception
{
MessageDigest md5=MessageDigest.getInstance(KEY_MD5);
md5.update(data);
return md5.digest();
}
public static byte[] encryptSHA(byte[] data) throws Exception
{
MessageDigest sha=MessageDigest.getInstance(KEY_SHA);
sha.update(data);
return sha.digest();
}
public static byte[] encryptHMAC(byte[] data,String key) throws Exception
{
SecretKey sk=new SecretKeySpec(key.getBytes(),KEY_MAC);
Mac mac=Mac.getInstance(sk.getAlgorithm());
mac.init(sk);
return mac.doFinal(data);
}