单参数加密或多参数(eg:参数+参数+参数+......)等作为要加密的内容,一般为String类型,实际在转Bytes()时,须注意明文写明编码问题,如sourceString.getBytes("UTF-8"),避免因String型值相同,但Bytes()值不同而造成值不对的困扰。
eg:
public static String sHA256Encode(String sourceString){
String resultString = null;
try{
MessageDigest md = MessageDigest.getInstance("SHA-256");
resultString = byte2HexString(md.digest(sourceString.getBytes("UTF-8")));
} catch (Exception ex){
logger.error("SHA256Encode异常:",ex);
}
return resultString;
}
public static final String byte2HexString(byte[] bytes){
StringBuffer buf = new StringBuffer(bytes.length * 2);
for (int i = 0; i < bytes.length; i++){
if ((bytes[i] & 0xff) < 0x10) {
buf.append("0");
}
buf.append(Long.toString(bytes[i] & 0xff, 16));
}
return buf.toString().tuUpperCase();
}