MD5&SHA加密util類(Java)
MD5&SHA加密util類(Java)
- package com.arui.util;
- import java.security.MessageDigest;
- import java.security.NoSuchAlgorithmException;
- public class EncryptUtils {
- /**
- * Encrypt string using MD5 algorithm
- */
- public final static String encryptMD5(String source) {
- if (source == null) {
- source = "";
- }
- String result = "";
- try {
- result = encrypt(source, "MD5");
- } catch (NoSuchAlgorithmException ex) {
- // this should never happen
- throw new RuntimeException(ex);
- }
- return result;
- }
- /**
- * Encrypt string using SHA algorithm
- */
- public final static String encryptSHA(String source) {
- if (source == null) {
- source = "";
- }
- String result = "";
- try {
- result = encrypt(source, "SHA");
- } catch (NoSuchAlgorithmException ex) {
- // this should never happen
- throw new RuntimeException(ex);
- }
- return result;
- }
- /**
- * Encrypt string
- */
- private final static String encrypt(String source, String algorithm)
- throws NoSuchAlgorithmException {
- byte[] resByteArray = encrypt(source.getBytes(), algorithm);
- return toHexString(resByteArray);
- }
- /**
- * Encrypt byte array.
- */
- private final static byte[] encrypt(byte[] source, String algorithm)
- throws NoSuchAlgorithmException {
- MessageDigest md = MessageDigest.getInstance(algorithm);
- md.reset();
- md.update(source);
- return md.digest();
- }
- /**
- * Get hex string from byte array
- */
- private final static String toHexString(byte[] res) {
- StringBuffer sb = new StringBuffer(res.length << 1);
- for (int i = 0; i < res.length; i++) {
- String digit = Integer.toHexString(0xFF & res[i]);
- if (digit.length() == 1) {
- digit = '0' + digit;
- }
- sb.append(digit);
- }
- return sb.toString().toUpperCase();
- }
- }
原文連接:
http://blog.csdn.net/arui319/article/details/5771804
歡迎關注本站公眾號,獲取更多信息