MD5加密
public static final synchronized String hash(String s)
{
if(digest == null)
try
{
digest = MessageDigest.getInstance("MD5");
}
catch(NoSuchAlgorithmException nosuchalgorithmexception)
{
System.err.println("Failed to load the MD5 MessageDigest. Jive will be unable to function normally.");
nosuchalgorithmexception.printStackTrace();
}
digest.update(s.getBytes());
return encodeHex(digest.digest());
}
public static final String encodeHex(byte abyte0[])
{
StringBuffer stringbuffer = new StringBuffer(abyte0.length * 2);
for(int i = 0; i < abyte0.length; i++)
{
if((abyte0[i] & 0xff) < 16)
stringbuffer.append("0");
stringbuffer.append(Long.toString(abyte0[i] & 0xff, 16));
}
return stringbuffer.toString();
}
public static final byte[] decodeHex(String s)
{
char ac[] = s.toCharArray();
byte abyte0[] = new byte[ac.length / 2];
int i = 0;
for(int j = 0; j < ac.length; j += 2)
{
byte byte0 = 0;
byte0 |= hexCharToByte(ac[j]);
byte0 <<= 4;
byte0 |= hexCharToByte(ac[j + 1]);
abyte0[i] = byte0;
i++;
}
return abyte0;
}