| | |
| | | private static final int BITS_TO_A_BYTE = 8; |
| | | private static final int BYTES_TO_A_WORD = 4; |
| | | private static final int BITS_TO_A_WORD = 32; |
| | | private static final String APP_SECRET = "JR6o8RQItoa2bzlneOCQ"; |
| | | |
| | | private static final long[] m_lOnBits = new long[31]; |
| | | private static final long[] m_l2Power = new long[31]; |
| | |
| | | * @param params 请求参数集合 |
| | | * @return 签名值 |
| | | */ |
| | | public static String generateSign(Map<String, String> params) { |
| | | public static String generateSign(Map<String, String> params,String APP_SECRET) { |
| | | // 1. 移除sign参数 |
| | | params.remove("sign"); |
| | | params.remove("Sign"); |
| | |
| | | * @return 验证结果 |
| | | */ |
| | | public static boolean verifySign(Map<String, String> params, String sign) { |
| | | String generatedSign = generateSign(params); |
| | | return generatedSign.equalsIgnoreCase(sign); |
| | | // String generatedSign = generateSign(params); |
| | | // return generatedSign.equalsIgnoreCase(sign); |
| | | return false; |
| | | } |
| | | |
| | | /** |
| | |
| | | */ |
| | | public static void main(String[] args) { |
| | | // 测试用例 |
| | | Map<String, String> params = new HashMap<>(); |
| | | params.put("method", "User_Login"); |
| | | params.put("LoginType", "0"); |
| | | params.put("UserID", "10"); |
| | | |
| | | String sign = generateSign(params); |
| | | System.out.println("生成的签名: " + sign); |
| | | // Map<String, String> params = new HashMap<>(); |
| | | // params.put("method", "User_Login"); |
| | | // params.put("LoginType", "0"); |
| | | // params.put("UserID", "10"); |
| | | // |
| | | // String sign = generateSign(params); |
| | | // System.out.println("生成的签名: " + sign); |
| | | // 应输出: 9a0a8659f005d6984697e2ca0a9cf3b7 |
| | | } |
| | | } |