{
MD5Digest md5 = new MD5Digest();
final byte[] data = challenge.getBytes();
md5.update( data, 0, data.length );
final byte[] digest = new byte[16];
md5.doFinal( digest, 0 );
for( int i = 0; i < 16; i++ )
{
if( stored[i] != digest[i] )
{
return false;