diff options
| author | wangwei <[email protected]> | 2024-11-07 16:22:03 +0800 |
|---|---|---|
| committer | wangwei <[email protected]> | 2024-11-07 16:22:03 +0800 |
| commit | bc37cc449a362c93e9e8cf88e2cf2e7fbca41e73 (patch) | |
| tree | 297f0e621cc6728d94a0cceaa522339a06af093a | |
| parent | fcfe47f6635aabdce9423c6bc37e4b7b475e8bab (diff) | |
[Fix][function] 修正 HMAC 自定义函数转义
| -rw-r--r-- | src/main/java/com/mesalab/common/utils/sqlparser/SQLFunctionUtil.java | 4 |
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) { |
