Java SHA1 sha1(String s)

Here you can find the source of sha1(String s)

Description

sha

License

Open Source License

Parameter

Parameter Description
password a parameter

Declaration

public static String sha1(String s) 

Method Source Code


//package com.java2s;
/*/*ww  w. ja v a  2 s  . co  m*/
 * Created on 5-mar-03
 * 
 * 
 * ====================================================================
 *
 * The WYMIWYG Software License, Version 1.0
 *
 * Copyright (c) 2002-2003 WYMIWYG  
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions
 * are met:
 *
 * 1. Redistributions of source code must retain the above copyright
 *    notice, this list of conditions and the following disclaimer.
 *
 * 2. Redistributions in binary form must reproduce the above copyright
 *    notice, this list of conditions and the following disclaimer in
 *    the documentation and/or other materials provided with the
 *    distribution.
 *
 * 3. The end-user documentation included with the redistribution, if
 *    any, must include the following acknowlegement:
 *       "This product includes software developed by WYMIWYG."
 *    Alternately, this acknowlegement may appear in the software itself,
 *    if and wherever such third-party acknowlegements normally appear.
 *
 * 4. The name "WYMIWYG" or "WYMIWYG.org" must not be used to endorse 
 *    or promote products derived from this software without prior written 
 *    permission. For written permission, please contact wymiwyg@wymiwyg.org.
 *
 * 5. Products derived from this software may not be called  
 *    "WYMIWYG" nor may "WYMIWYG" appear in their names 
 *    without prior written permission of WYMIWYG.
 *
 * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
 * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
 * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
 * DISCLAIMED.  IN NO EVENT SHALL WYMIWYG OR ITS CONTRIBUTORS BE 
 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,SPECIAL, EXEMPLARY, 
 * OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 
 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
 * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 
 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR 
 * TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF 
 * THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 * SUCH DAMAGE.
 * ====================================================================
 *
 * This software consists of voluntary contributions made by many
 * individuals on behalf of WYMIWYG.  For more
 * information on WYMIWYG, please see http://www.WYMIWYG.org/.
 *
 * This licensed is based on The Apache Software License, Version 1.1,
 * see http://www.apache.org/.
 */

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

public class Main {
    /**
     * @param password
     * @return
     */
    public static String sha1(String s) {
        MessageDigest md = null;
        try {
            md = MessageDigest.getInstance("SHA1");
        } catch (NoSuchAlgorithmException e) {
            throw new RuntimeException("sha1 not supported by plattform");
        }
        try {
            byte[] result = md.digest(s.getBytes("UTF-8"));
            return bytes2HexString(result);
        } catch (UnsupportedEncodingException ex) {
            throw new RuntimeException("utf-8 not supported by plattform");
        }

    }

    /**
     * Converts an array of bytes to a string of two digits hex-representations
     * 
     * @param bytes
     * @return
     */
    public static String bytes2HexString(byte[] bytes) {
        StringBuffer resultBuffer = new StringBuffer();
        for (int i = 0; i < bytes.length; i++) {
            resultBuffer.append(byte2Hex(bytes[i]));
        }
        return resultBuffer.toString();
    }

    /**
     * @param b
     * @return
     */
    private static String byte2Hex(byte b) {
        int i = unsignedByteToInt(b);
        String hexChars = "0123456789abcdef";
        byte low = (byte) (i % 16);
        byte high = (byte) (i / 16);
        return "" + hexChars.charAt(high) + hexChars.charAt(low);
    }

    private static int unsignedByteToInt(byte b) {
        return (int) b & 0xFF;
    }
}

Related

  1. sha1(String param)
  2. sha1(String raw)
  3. sha1(String s)
  4. sha1(String s)
  5. sha1(String s)
  6. sha1(String s)
  7. sha1(String s)
  8. sha1(String s)
  9. sha1(String src)