import
java.security.MessageDigest;
/***/
public class MD5 {
/**
*ConstructstheMD5objectandsetsthestringwhoseMD5istobe
*computed.
*
* @param inStr
*the<code>String</code>whoseMD5istobecomputed
*/
public MD5() {
}
/**
*ComputestheMD5fingerprintofastring.
*
* @return theMD5digestoftheinput<code>String</code>
*/
public static Stringcompute(StringinStr) {
// convertinputStringtoachar[]
// convertthatchar[]tobyte[]
// getthemd5digestasbyte[]
// bit-wiseANDthatbyte[]with0xff
// prepend"0"totheoutputStringBuffertomakesurethatwedon'tend
// upwith
// somethinglike"e21ff"insteadof"e201ff"
MessageDigestmd5 = null ;
try {
md5 = MessageDigest.getInstance( " MD5 " );
} catch (Exceptione) {
System.out.println(e.toString());
e.printStackTrace();
return "" ;
}
char []charArray = inStr.toCharArray();
byte []byteArray = new byte [charArray.length];
for ( int i = 0 ;i < charArray.length;i ++ )
byteArray[i] = ( byte )charArray[i];
byte []md5Bytes = md5.digest(byteArray);
StringBufferhexValue = new StringBuffer();
for ( int i = 0 ;i < md5Bytes.length;i ++ ) {
int val = (( int )md5Bytes[i]) & 0xff ;
if (val < 16 )
hexValue.append( " 0 " );
hexValue.append(Integer.toHexString(val));
}
return hexValue.toString();
}
}
/***/
public class MD5 {
/**
*ConstructstheMD5objectandsetsthestringwhoseMD5istobe
*computed.
*
* @param inStr
*the<code>String</code>whoseMD5istobecomputed
*/
public MD5() {
}
/**
*ComputestheMD5fingerprintofastring.
*
* @return theMD5digestoftheinput<code>String</code>
*/
public static Stringcompute(StringinStr) {
// convertinputStringtoachar[]
// convertthatchar[]tobyte[]
// getthemd5digestasbyte[]
// bit-wiseANDthatbyte[]with0xff
// prepend"0"totheoutputStringBuffertomakesurethatwedon'tend
// upwith
// somethinglike"e21ff"insteadof"e201ff"
MessageDigestmd5 = null ;
try {
md5 = MessageDigest.getInstance( " MD5 " );
} catch (Exceptione) {
System.out.println(e.toString());
e.printStackTrace();
return "" ;
}
char []charArray = inStr.toCharArray();
byte []byteArray = new byte [charArray.length];
for ( int i = 0 ;i < charArray.length;i ++ )
byteArray[i] = ( byte )charArray[i];
byte []md5Bytes = md5.digest(byteArray);
StringBufferhexValue = new StringBuffer();
for ( int i = 0 ;i < md5Bytes.length;i ++ ) {
int val = (( int )md5Bytes[i]) & 0xff ;
if (val < 16 )
hexValue.append( " 0 " );
hexValue.append(Integer.toHexString(val));
}
return hexValue.toString();
}
}