MD5 SHA1 BASE64加密算法

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


import sun.misc.BASE64Decoder;

public class PasswdUtil {
	/**
	 * SHA加密
	 * @param decript
	 * @return
	 */
	public static String SHA1(String input) {
		if(input == null){
			return "";
		}
		try {
			MessageDigest digest = java.security.MessageDigest
					.getInstance("SHA-1");
			digest.update(input.getBytes());
			byte messageDigest[] = digest.digest();
			// Create Hex String
			StringBuffer hexString = new StringBuffer();
			// 字节数组转换为 十六进制 数
			for (int i = 0; i < messageDigest.length; i++) {
				String shaHex = Integer.toHexString(messageDigest[i] & 0xFF);
				if (shaHex.length() < 2) {
					hexString.append(0);
				}
				hexString.append(shaHex);
			}
			return hexString.toString();

		} catch (NoSuchAlgorithmException e) {
			e.printStackTrace();
		}
		return "";
	}
	/**
	 * MD5加密
	 * @param input
	 * @return
	 */
	public static String MD5(String input) {
		if(input == null){
			return "";
		}
		try {
			// 获得MD5摘要算法的 MessageDigest 对象
			MessageDigest mdInst = MessageDigest.getInstance("MD5");
			// 使用指定的字节更新摘要
			mdInst.update(input.getBytes());
			// 获得密文
			byte[] md = mdInst.digest();
			// 把密文转换成十六进制的字符串形式
			StringBuffer hexString = new StringBuffer();
			// 字节数组转换为 十六进制 数
			for (int i = 0; i < md.length; i++) {
				String shaHex = Integer.toHexString(md[i] & 0xFF);
				if (shaHex.length() < 2) {
					hexString.append(0);
				}
				hexString.append(shaHex);
			}
			return hexString.toString();
		} catch (NoSuchAlgorithmException e) {
			e.printStackTrace();
		}
		return "";
	}

	/**
	 * BASE64解密
	 */
	public static String decryptBASE64(String input) {
		if (input == null){
			return "";
		}
		BASE64Decoder decoder = new BASE64Decoder();
		String pwd = "";
		try {
			byte[] b = decoder.decodeBuffer(input);
			pwd = new String(b);
		} catch (Exception e) {
			e.printStackTrace();
		}
		
		return pwd;
	}

	/**
	 * BASE64加密
	 */
	public static String encryptBASE64(String input) {
		if(input == null){
			return "";
		}
		return new sun.misc.BASE64Encoder().encode(input.getBytes());

	}
	
}

你可能感兴趣的:(MD5,加密,算法)