JAVA MD5加密转大写


可以直接复制使用

/**
*
*/
package com.trafree.banking.server.hardcore.util;

import java.io.UnsupportedEncodingException;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;

/**
* @author Michael
*
*/
public class Md5Util {
private static char[] hexDigits = {'0','1','2','3','4','5','6','7','8','9', 'A','B','C','D','E','F' };
private static MessageDigest md5;
/**
* MD5加密转大写
*/
public static String MD5EncodeInUppercase(String beforeEncrypted,String charset) {
String resultString="";
try {
md5=MessageDigest.getInstance("MD5");
if(charset==null||charset.equals("")) {
resultString = byteArrayToHexString(md5.digest(beforeEncrypted.getBytes()));
}else {
resultString = byteArrayToHexString(md5.digest(beforeEncrypted.getBytes(charset)));
}

} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
return resultString.toUpperCase();
}
/**
* 字节数组转16进制字符串
*/
private static String byteArrayToHexString(byte[] digest) {
StringBuffer resultSb = new StringBuffer();
for(int i=0;i<digest.length;i++) {
resultSb.append(byteToHexString(digest[i]).toString());
}
return resultSb.toString();
}

private static Object byteToHexString(byte b) {
int n = b;
if (n < 0)
n += 256;
int d1 = n / 16;
int d2 = n % 16;
return hexDigits[d1]+""+ hexDigits[d2];
}
}


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM