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
;
13 public class DigestTools
{
15 public static String
SHA1(String text
) {
16 MessageDigest md
= null;
17 byte[] digestOutput
= null;
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;
41 if ((0 <= halfbyte
) && (halfbyte
<= 9)) {
42 buf
.append((char) ('0' + halfbyte
));
44 buf
.append((char) ('a' + (halfbyte
- 10)));
46 halfbyte
= data
[i
] & 0x0F;
47 } while (two_halfs
++ < 1);
50 return buf
.toString();