不可逆加密:MD5,SHA
MD5加密方法如下:
public static String MD5(String plainText, String encode) {
StringBuffer buf = new StringBuffer();
plainText = defaultString(plainText);
try {
// 根据MD5算法生成MessageDigest对象
MessageDigest md = MessageDigest.getInstance("MD5");
if (isNullOrEmpty(encode)) encode = "UTF-8";
// 使用msgBytes更新摘要
md.update(plainText.getBytes(encode));
// 完成哈希运算,得到加密后的密文
byte b[] = md.digest();
/** int i;
for (int offset = 0; offset < b.length; offset++) {
i = b[offset];
if (i < 0) i += 256;
if (i < 16) buf.append("0");
buf.append(Integer.toHexString(i));
}*/
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
return buf.toString();
}
SHA加密方法如下:
public static byte[] encrypt(String msg){
try {
// 根据SHA算法生成MessageDigest对象
MessageDigest sha = MessageDigest.getInstance("SHA");
byte[] msgBytes = msg.getBytes();
// 使用msgBytes更新摘要
sha.update(msgBytes);
// 完成哈希运算,得到加密后的密文
byte[] resultBytes = md5.digest();
return resultBytes;
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
}
return null;
}