MD5加密生成与SHA526加密生成

/**

* 生成 MD5

*

* @param data 待处理数据

* @return MD5结果

*/

public static String MD5(String data) throws Exception {

java.security.MessageDigest md = MessageDigest.getInstance("MD5");

byte[] array = md.digest(data.getBytes("UTF-8"));

StringBuilder sb = new StringBuilder();

for (byte item : array) {

sb.append(Integer.toHexString((item & 0xFF) | 0x100).substring(1, 3));

}

return sb.toString().toUpperCase();

}

 

/**

* 生成 HMACSHA256

* 

* @param data 待处理数据

* @param key  密钥

* @return 加密结果

* @throws Exception

*/

public static String HMACSHA256(String data, String key) throws Exception {

Mac sha256_HMAC = Mac.getInstance("HmacSHA256");

SecretKeySpec secret_key = new SecretKeySpec(key.getBytes("UTF-8"), "HmacSHA256");

sha256_HMAC.init(secret_key);

byte[] array = sha256_HMAC.doFinal(data.getBytes("UTF-8"));

StringBuilder sb = new StringBuilder();

for (byte item : array) {

sb.append(Integer.toHexString((item & 0xFF) | 0x100).substring(1, 3));

}

return sb.toString().toUpperCase();

}

posted @ 2020-07-31 13:35  流浪者&乔木  阅读(243)  评论(0编辑  收藏  举报