Development Class Java

//    Openbravo POS is a point of sales application designed for touch screens.
//    Copyright (C) 2007-2009 Openbravo, S.L.
//    http://www.openbravo.com/product/pos
//
//    This file is part of Openbravo POS.
//
//    Openbravo POS is free software: you can redistribute it and/or modify
//    it under the terms of the GNU General Public License as published by
//    the Free Software Foundation, either version 3 of the License, or
//    (at your option) any later version.
//
//    Openbravo POS is distributed in the hope that it will be useful,
//    but WITHOUT ANY WARRANTY; without even the implied warranty of
//    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
//    GNU General Public License for more details.
//
//    You should have received a copy of the GNU General Public License
//    along with Openbravo POS.  If not, see .
//package com.openbravo.pos.pda.util;
import java.io.UnsupportedEncodingException;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
/**
 * 
 * @author jaroslawwozniak
 */
public class StringUtils {
  private static final char[] hexchars = { '0', '1', '2', '3', '4', '5', '6',
      '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F' };
  public static String byte2hex(byte[] binput) {
    StringBuffer sb = new StringBuffer(binput.length * 2);
    for (int i = 0; i < binput.length; i++) {
      int high = ((binput[i] & 0xF0) >> 4);
      int low = (binput[i] & 0x0F);
      sb.append(hexchars[high]);
      sb.append(hexchars[low]);
    }
    return sb.toString();
  }
  public static byte[] hex2byte(String sinput) {
    int length = sinput.length();
    if ((length & 0x01) != 0) {
      throw new IllegalArgumentException("odd number of characters.");
    }
    byte[] out = new byte[length >> 1];
    // two characters form the hex value.
    for (int i = 0, j = 0; j < length; i++) {
      int f = Character.digit(sinput.charAt(j++), 16) << 4;
      f = f | Character.digit(sinput.charAt(j++), 16);
      out[i] = (byte) (f & 0xFF);
    }
    return out;
  }
  public static String hashString(String sPassword) {
    if (sPassword == null || sPassword.equals("")) {
      return "empty:";
    } else {
      try {
        MessageDigest md = MessageDigest.getInstance("SHA-1");
        md.update(sPassword.getBytes("UTF-8"));
        byte[] res = md.digest();
        return "sha1:" + byte2hex(res);
      } catch (NoSuchAlgorithmException e) {
        return "plain:" + sPassword;
      } catch (UnsupportedEncodingException e) {
        return "plain:" + sPassword;
      }
    }
  }
}