Mega Code Archive

 
Categories / Android / Security
 

Sha1 hashes based on a given String

//package gr.aueb.cs.mscis.chordroid.util; import java.io.UnsupportedEncodingException; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; /**  * This class produces Sha1 hashes based on a given String  * @author lupin  *  */ class Sha1 {   public static String getHash(String str) {     MessageDigest digest = null;     byte[] input = null;     try {       digest = MessageDigest.getInstance("SHA-1");       digest.reset();       input = digest.digest(str.getBytes("UTF-8"));     } catch (NoSuchAlgorithmException e1) {       e1.printStackTrace();     } catch (UnsupportedEncodingException e) {       e.printStackTrace();     }     return convertToHex(input);   }      public static String getHash(byte[] data) {     MessageDigest digest = null;     byte[] input = null;     try {       digest = MessageDigest.getInstance("SHA-1");       digest.reset();       input = digest.digest(data);     } catch (NoSuchAlgorithmException e1) {       e1.printStackTrace();     }     return convertToHex(input);   }        private static String convertToHex(byte[] data) {          StringBuffer buf = new StringBuffer();         for (int i = 0; i < data.length; i++) {              int halfbyte = (data[i] >>> 4) & 0x0F;             int two_halfs = 0;             do {                  if ((0 <= halfbyte) && (halfbyte <= 9))                      buf.append((char) ('0' + halfbyte));                 else                      buf.append((char) ('a' + (halfbyte - 10)));                 halfbyte = data[i] & 0x0F;             } while(two_halfs++ < 1);         }          return buf.toString();     }  }