summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorwangwei <[email protected]>2024-11-07 16:22:03 +0800
committerwangwei <[email protected]>2024-11-07 16:22:03 +0800
commitbc37cc449a362c93e9e8cf88e2cf2e7fbca41e73 (patch)
tree297f0e621cc6728d94a0cceaa522339a06af093a
parentfcfe47f6635aabdce9423c6bc37e4b7b475e8bab (diff)
[Fix][function] 修正 HMAC 自定义函数转义
-rw-r--r--src/main/java/com/mesalab/common/utils/sqlparser/SQLFunctionUtil.java4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/main/java/com/mesalab/common/utils/sqlparser/SQLFunctionUtil.java b/src/main/java/com/mesalab/common/utils/sqlparser/SQLFunctionUtil.java
index 520b49a7..a5d9e526 100644
--- a/src/main/java/com/mesalab/common/utils/sqlparser/SQLFunctionUtil.java
+++ b/src/main/java/com/mesalab/common/utils/sqlparser/SQLFunctionUtil.java
@@ -2035,7 +2035,7 @@ public class SQLFunctionUtil {
private static String translateHmac(Function fun) {
List<String> paramsList = fun.getParamsList();
- String data = paramsList.get(0);
+ String data = paramsList.get(0).replaceAll("^'|'$", "");
String algorithm = "sha256";
String secretKey = engineConfigSource.getSecretKey();
if (paramsList.size() >= 2) {
@@ -2045,7 +2045,7 @@ public class SQLFunctionUtil {
algorithm = paramsList.get(2);
}
HMac hMac = new HMac(getHmacAlgorithm(algorithm), secretKey.getBytes());
- return "'" + hMac.digestBase64(data, false) + "'";
+ return "'" + hMac.digestBase64(new String(Base64.getDecoder().decode(data)), false) + "'";
}
private static String getHmacAlgorithm(String algorithm) {