From: Tang Cheng Date: Mon, 29 Jul 2019 03:00:13 +0000 (+0800) Subject: 优化 X-Git-Tag: 1.0.1^2~62 X-Git-Url: https://source.supwisdom.com/gerrit/gitweb?a=commitdiff_plain;h=5f834dbe0b500d4cfc84d531c7edf883ecff8bcb;p=epayment%2Ffood_payapi.git 优化 --- diff --git a/payapi-common/build.gradle b/payapi-common/build.gradle index d0cdb6de..a1776a5d 100644 --- a/payapi-common/build.gradle +++ b/payapi-common/build.gradle @@ -36,6 +36,7 @@ dependencies { implementation 'javax.validation:validation-api:2.0.1.Final' implementation 'javax.servlet:javax.servlet-api:4.0.1' implementation 'commons-beanutils:commons-beanutils:1.9.3' + implementation 'commons-codec:commons-codec:1.13' implementation('org.springframework.boot:spring-boot-starter-validation:2.1.6.RELEASE') implementation 'org.hibernate:hibernate-validator:6.0.2.Final' diff --git a/payapi-common/src/main/java/com/supwisdom/dlpay/api/util/HMACUtil.java b/payapi-common/src/main/java/com/supwisdom/dlpay/api/util/HMACUtil.java index f268646b..06d72776 100644 --- a/payapi-common/src/main/java/com/supwisdom/dlpay/api/util/HMACUtil.java +++ b/payapi-common/src/main/java/com/supwisdom/dlpay/api/util/HMACUtil.java @@ -1,29 +1,17 @@ package com.supwisdom.dlpay.api.util; -import javax.crypto.Mac; -import javax.crypto.spec.SecretKeySpec; +import org.apache.commons.codec.binary.Hex; +import org.apache.commons.codec.digest.HmacAlgorithms; +import org.apache.commons.codec.digest.HmacUtils; public class HMACUtil { public static String sha256HMAC(String message, String secret) { - String hash = ""; - try { - Mac sha256_HMAC = Mac.getInstance("HmacSHA256"); - SecretKeySpec secret_key = new SecretKeySpec(secret.getBytes(), "HmacSHA256"); - sha256_HMAC.init(secret_key); - byte[] bytes = sha256_HMAC.doFinal(message.getBytes()); - hash = byteArrayToHexString(bytes); - System.out.println(hash); - } catch (Exception e) { - System.out.println("Error HmacSHA256 ===========" + e.getMessage()); - } - return hash; + byte[] bytes = HmacUtils.getInitializedMac(HmacAlgorithms.HMAC_SHA_256, secret.getBytes()) + .doFinal(message.getBytes()); + return Hex.encodeHexString(bytes, true); } private static String byteArrayToHexString(byte[] bytes) { - StringBuilder builder = new StringBuilder(); - for (byte b : bytes) { - builder.append(String.format("%02x", ((int) b) & 0xFF)); - } - return builder.toString(); + return Hex.encodeHexString(bytes, true); } } diff --git a/payapi/build.gradle b/payapi/build.gradle index f87ce155..ed8ce9b1 100644 --- a/payapi/build.gradle +++ b/payapi/build.gradle @@ -85,8 +85,9 @@ dependencies { implementation group: 'com.sun.jersey', name: 'jersey-client', version: '1.19' implementation group: 'javax.servlet', name: 'jstl', version: '1.2' implementation group: 'taglibs', name: 'standard', version: '1.1.2' - implementation group: 'commons-codec', name: 'commons-codec', version: '1.6' + implementation group: 'commons-codec', name: 'commons-codec', version: '1.13' implementation files('libs/sms.jar') +// implementation files('libs/ojdbc6.jar') implementation 'commons-dbcp:commons-dbcp:1.4' implementation project(':payapi-common')