Android SHA1 Hash Create SHA1(String text)

Here you can find the source of SHA1(String text)

Description

Converts a String into a SHA-1 hash.

License

Open Source License

Parameter

Parameter Description
text Text to convert.

Exception

Parameter Description
NoSuchAlgorithmException an exception
UnsupportedEncodingException an exception

Return

SHA1 hash.

Declaration

public static String SHA1(String text) throws NoSuchAlgorithmException,
        UnsupportedEncodingException 

Method Source Code

//package com.java2s;
//By using the Tapjoy SDK in your software, you agree to the terms of the Tapjoy SDK License Agreement.

import java.io.UnsupportedEncodingException;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;

public class Main {
    /**/*from   w  w w  . j  a  v a2 s .c  om*/
     * Converts a String into a SHA-1 hash.
     * 
     * @param text
     *            Text to convert.
     * @return SHA1 hash.
     * @throws NoSuchAlgorithmException
     * @throws UnsupportedEncodingException
     */
    public static String SHA1(String text) throws NoSuchAlgorithmException,
            UnsupportedEncodingException {
        return hashAlgorithm("SHA-1", text);
    }

    /**
     * Converts a String into a specified hash.
     * 
     * @param text
     *            Text to convert.
     * @return hash.
     * @throws NoSuchAlgorithmException
     * @throws UnsupportedEncodingException
     */
    public static String hashAlgorithm(String hash, String text)
            throws NoSuchAlgorithmException, UnsupportedEncodingException {
        //TapjoyLog.i(TAPJOY_UTIL, "" + hash + ": " + text);

        MessageDigest md;
        byte[] sha1hash = new byte[40];

        // MD5, SHA-1, etc
        md = MessageDigest.getInstance(hash);
        md.update(text.getBytes("iso-8859-1"), 0, text.length());
        sha1hash = md.digest();

        return convertToHex(sha1hash);
    }

    /**
     * Converts a byte array into a hex string.
     * 
     * @param data
     *            Data to convert.
     * @return Data in hex as a string.
     */
    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();
    }
}

Related

  1. sha1(String s)
  2. sha1(String s)
  3. computeHashSHA1(final String text)
  4. computeSHAHash(String password)
  5. getSHA1CertFingerprint(Context ctx)
  6. shaByte(String in)
  7. shaByte(byte[] in)
  8. calculateSHA1(byte[] data)
  9. sha1(byte[] bytesOfMessage)