Java Digest digest(String text, String algorithm)

Here you can find the source of digest(String text, String algorithm)

Description

Create the hash/digest code for a given text.

License

Open Source License

Parameter

Parameter Description
text Text to be digested.
algorithm Digest code to be used (usually MD5 or SHA1).

Exception

Parameter Description
IllegalArgumentException if an invalid text (null) is set.

Return

Digest code.

Declaration

public static String digest(String text, String algorithm) 

Method Source Code

//package com.java2s;
/*/*from   w  ww.  ja v a  2s  .c  o  m*/
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
    
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.
    
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
    
Copyright (C) 2007 Marco Aurelio Graciotto Silva <magsilva@gmail.com>
 */

import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;

public class Main {
    /**
     * Create the hash/digest code for a given text.
     *
     * @param text Text to be digested.
     * @param algorithm Digest code to be used (usually MD5 or SHA1).
     *
     * @return Digest code.
     * @throws IllegalArgumentException if an invalid text (null) is set.
     */
    public static String digest(String text, String algorithm) {
        if (text == null) {
            throw new IllegalArgumentException(new NullPointerException());
        }

        MessageDigest md;
        try {
            md = MessageDigest.getInstance(algorithm);
        } catch (NoSuchAlgorithmException e) {
            throw new IllegalArgumentException(e);
        }
        byte[] hash = md.digest(text.getBytes());
        StringBuilder sb = new StringBuilder();

        for (byte b : hash) {
            String hex = Integer.toHexString(b);
            int len = hex.length();
            if (len == 1) {
                sb.append("0" + hex);
            } else {
                sb.append(hex.substring(len - 2, len));
            }
        }

        return sb.toString();
    }
}

Related

  1. digest(String source, byte[] salt)
  2. digest(String source, String algorythm)
  3. digest(String strSource)
  4. digest(String strSrc, String encName)
  5. digest(String text)
  6. digest(String token)
  7. digest(String type, byte[] bytes)
  8. digest(String uri)
  9. digest(String value, byte[] salt, int iterations)