MD5加密

String sig = MD5Util.getMD5(unCodeStr.toString(), "UTF-8");

MD5是自定义的MD5工具类:

/**
	 * getMD5
	 * @param message message
	 * @param code code
	 * @return MD5
	 */
	public static String getMD5(String message,String code) {
		String md5str = "";
		try {
			//1 创建一个提供信息摘要算法的对象,初始化为md5算法对象
			MessageDigest md = MessageDigest.getInstance("MD5");

			//2 将消息变成byte数组
			byte[] input = message.getBytes(code);

			//3 计算后获得字节数组,这就是那128位了
			byte[] buff = md.digest(input);

			//4 把数组每一字节(一个字节占八位)换成16进制连成md5字符串
			md5str = bytesToHex(buff);

		} catch (Exception e) {
			e.printStackTrace();
		}
		return md5str;
	}
	

MessageDigest继承自java.security.MessageDigestSpi:

 public static MessageDigest getInstance(String algorithm)
    throws NoSuchAlgorithmException {
        try {
            Object[] objs = Security.getImpl(algorithm, "MessageDigest",
                                             (String)null);
            if (objs[0] instanceof MessageDigest) {
                MessageDigest md = (MessageDigest)objs[0];
                md.provider = (Provider)objs[1];
                return md;
            } else {
                MessageDigest delegate =
                    new Delegate((MessageDigestSpi)objs[0], algorithm);
                delegate.provider = (Provider)objs[1];
                return delegate;
            }
        } catch(NoSuchProviderException e) {
            throw new NoSuchAlgorithmException(algorithm + " not found");
        }
    }

猜你喜欢

转载自blog.csdn.net/w_t_y_y/article/details/80047073