View Javadoc

1   //////////////////////////////////////////////////////////////////////////////
2   // dexterIM - Instant Messaging Framework
3   // Copyright (C) 2003  Christoph Walcher
4   //
5   // This program is free software; you can redistribute it and/or modify
6   // it under the terms of the GNU General Public License as published by
7   // the Free Software Foundation; either version 2 of the License, or
8   // (at your option) any later version.
9   //
10  // This program is distributed in the hope that it will be useful,
11  // but WITHOUT ANY WARRANTY; without even the implied warranty of
12  // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13  // GNU General Public License for more details.
14  //
15  // You should have received a copy of the GNU General Public License
16  // along with this program; if not, write to the Free Software
17  // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
18  //////////////////////////////////////////////////////////////////////////////
19  package net.sf.dexterim.msn.util;
20  
21  import java.security.MessageDigest;
22  import java.security.NoSuchAlgorithmException;
23  
24  public class MD5 {
25  
26    private byte digest[];
27  
28    public MD5(String message) {
29      try {
30        MessageDigest digester = MessageDigest.getInstance("MD5");
31        digest = digester.digest(message.getBytes());
32      }
33      catch (NoSuchAlgorithmException e) {
34        e.printStackTrace();
35      }
36    }
37  
38    public String toHex() {
39      return toHex(digest);
40    }
41  
42    protected String toHex(byte digest[]) {
43      StringBuffer hexString = new StringBuffer();
44  
45      for (int i = 0; i < digest.length; i++) {
46        hexString.append(Integer.toHexString(0xFF & digest[i]));
47      }
48  
49      return hexString.toString();
50    }
51  }