package com.util; import java.security.MessageDigest; import java.util.Map; import java.util.TreeMap; import com.config.ConstantConfiguer; import com.exp.RunException; public class EncryptUtils { public static String getSign(Map<String, String> map) { String sign = ""; if (Helper.isNull(map)) { throw new RunException("encrypt data is empty"); } TreeMap<String, String> treeMap = new TreeMap<String, String>(); treeMap.putAll(map); treeMap.put("privateKey", "Key" ); StringBuffer buffer = new StringBuffer(); for (Map.Entry<String, String> entry : treeMap.entrySet()) { buffer.append(entry.getKey()).append("=").append(entry.getValue()) .append("&"); } int length = buffer.length(); buffer.delete(length - 1, length); sign = SHA1.sha(buffer.toString()).toLowerCase(); return sign; } /** * 加密字符串 */ public static String getSign(String txt) { return getSign(txt, "HelloWord" ); } public static String getSign(String txt, String key) { if (Helper.isNull(txt)) { throw new RunException("encrypt data is empty"); } String sign = null; txt = txt + "-" + key; sign = SHA1.sha(txt).toLowerCase(); return sign; } } class SHA1 { public static void main(String[] args) { System.out.println(sha("")); } public static String md5(String inputText) { return encrypt(inputText, "md5"); } public static String sha(String inputText) { return encrypt(inputText, "sha-1"); } private static String encrypt(String inputText, String algorithmName) { inputText = Helper.checkNull(inputText); if (algorithmName == null || "".equals(algorithmName.trim())) { algorithmName = "md5"; } String encryptText = null; try { MessageDigest m = MessageDigest.getInstance(algorithmName); m.update(inputText.getBytes("UTF8")); byte s[] = m.digest(); return hex(s); } catch (Exception e) { e.printStackTrace(); } return encryptText; } private static String hex(byte[] arr) { StringBuffer sb = new StringBuffer(); for (int i = 0; i < arr.length; ++i) { sb.append(Integer.toHexString((arr[i] & 0xFF) | 0x100).substring(1, 3)); } return sb.toString(); } }
java-参考支付宝加密方式
时间: 2024-10-01 05:17:11