title: MySQL MD5 and Java MD5 not equal
body: <p>The next function in MySQL </p>
  
  <p><code>MD5(  'secret' )</code> generates <em>5ebe2294ecd0e0f08eab7690d2a6ee69</em> </p>
  
  <p>I would like to have a Java function to generate the same output. But</p>
  
  <pre><code>public static String md5( String source ) {
      try {
          MessageDigest md = MessageDigest.getInstance( "MD5" );
          byte[] bytes = md.digest( source.getBytes("UTF-8") );
          return getString( bytes );
      } catch( Exception e )  {
          e.printStackTrace();
          return null;
      }
  }
  
  private static String getString( byte[] bytes ) {
      StringBuffer sb = new StringBuffer();
      for( int i=0; i&lt;bytes.length; i++ ) {
          byte b = bytes[ i ];
          sb.append( ( int )( 0x00FF &amp; b ) );
          if( i+1 &lt;bytes.length ) {
              sb.append( "-" );
          }
      }
      return sb.toString();
  }
  </code></pre>
  
  <p>generates </p>
  
  <pre><code>94-190-34-148-236-208-224-240-142-171-118-144-210-166-238-105
  </code></pre>