private static void addDigest(MessageDigest digest,String string){
  if (string == null)   return;
  int len=string.length();
  for (int i=0; i < len; i++) {
    int ch=string.charAt(i);
    if (ch < 0x80)     digest.update((byte)ch);
 else     if (ch < 0x800) {
      digest.update((byte)(0xc0 + (ch >> 6)));
      digest.update((byte)(0x80 + (ch & 0x3f)));
    }
 else {
      digest.update((byte)(0xe0 + (ch >> 12)));
      digest.update((byte)(0x80 + ((ch >> 6) & 0x3f)));
      digest.update((byte)(0x80 + (ch & 0x3f)));
    }
  }
}

private static void addDigest ( MessageDigest digest , String string ) { if ( string == null ) return ; int len = string . length ( ) ; for ( int i = 0 ; i < len ; i ++ ) { int ch = string . charAt ( i ) ; if ( ch < 0x80 ) digest . update ( ( byte ) ch ) ; else if ( ch < 0x800 ) { digest . update ( ( byte ) ( 0xc0 + ( ch > > 6 ) ) ) ; digest . update ( ( byte ) ( 0x80 + ( ch & 0x3f ) ) ) ; } else { digest . update ( ( byte ) ( 0xe0 + ( ch > > 12 ) ) ) ; digest . update ( ( byte ) ( 0x80 + ( ( ch > > 6 ) & 0x3f ) ) ) ; digest . update ( ( byte ) ( 0x80 + ( ch & 0x3f ) ) ) ; } } }
adds the string to the digest using a utf8 encoding .
