16位加密
public static String md16(String str)
{
String result = "";
if (null == str || str.trim().length() < 0)
{
return result;
}
try
{
MessageDigest messageDigest = MessageDigest.getInstance("md5");
messageDigest.update(str.getBytes("utf-8"));
byte b[] = messageDigest.digest();
int i;
StringBuilder buffer = new StringBuilder(16);
for (int offset = 0; offset < b.length; offset++)
{
i = b[offset];
if (i < 0)
i += 256;
if (i < 16)
buffer.append("0");
buffer.append(Integer.toHexString(i));
}
result = buffer.substring(8, 24);
} catch (Exception e)
{
e.printStackTrace();
}
return result;
}
32位加密
public static String md32(String str)
{
String result = "";
if (null == str || str.trim().length() < 0)
{
return result;
}
try
{
MessageDigest messageDigest = MessageDigest.getInstance("md5");
messageDigest.update(str.getBytes("utf-8"));
byte b[] = messageDigest.digest();
int i;
StringBuilder buffer = new StringBuilder(32);
for (int offset = 0; offset < b.length; offset++)
{
i = b[offset];
if (i < 0)
i += 256;
if (i < 16)
buffer.append("0");
buffer.append(Integer.toHexString(i));
}
result = buffer.toString();
} catch (Exception e)
{
e.printStackTrace();
}
return result;
}
一般带key加密方式为md32(content + keyValue)加密内容加上秘钥