Adding password hashes, login information in botom panel
[SkiSchool.git] / SkiSchool-ejb / src / java / org / cvut / skischool / core / DigestTools.java
blob2dbca53108e7dd7b70378dc415936551ccdd03b1
1 package org.cvut.skischool.core;
3 import java.io.UnsupportedEncodingException;
4 import java.security.MessageDigest;
5 import java.security.NoSuchAlgorithmException;
6 import java.util.logging.Level;
7 import java.util.logging.Logger;
9 /**
11 * @author matej
13 public class DigestTools {
15 public static String SHA1(String text) {
16 MessageDigest md = null;
17 byte[] digestOutput = null;
19 try {
20 md = MessageDigest.getInstance("SHA1");
21 md.update(text.getBytes("utf8"), 0, text.length());
23 digestOutput = new byte[40];
24 digestOutput = md.digest();
25 } catch (UnsupportedEncodingException ex) {
26 Logger.getLogger(DigestTools.class.getName()).log(Level.SEVERE, null, ex);
27 } catch (NoSuchAlgorithmException ex) {
28 Logger.getLogger(DigestTools.class.getName()).log(Level.SEVERE, null, ex);
31 return convertToHex(digestOutput);
34 private static String convertToHex(byte[] data) {
35 StringBuilder buf = new StringBuilder();
37 for (int i = 0; i < data.length; i++) {
38 int halfbyte = (data[i] >>> 4) & 0x0F;
39 int two_halfs = 0;
40 do {
41 if ((0 <= halfbyte) && (halfbyte <= 9)) {
42 buf.append((char) ('0' + halfbyte));
43 } else {
44 buf.append((char) ('a' + (halfbyte - 10)));
46 halfbyte = data[i] & 0x0F;
47 } while (two_halfs++ < 1);
50 return buf.toString();