mirror of
https://github.com/alibaba/druid.git
synced 2023-03-04 19:17:16 +00:00
sql desensitize support.
This commit is contained in:
@@ -15,11 +15,9 @@
|
||||
*/
|
||||
package com.alibaba.druid.sql;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import com.alibaba.druid.DruidRuntimeException;
|
||||
import com.alibaba.druid.sql.ast.SQLExpr;
|
||||
import com.alibaba.druid.sql.ast.SQLObject;
|
||||
import com.alibaba.druid.sql.ast.SQLReplaceable;
|
||||
@@ -277,8 +275,9 @@ public class SQLUtils {
|
||||
option = DEFAULT_FORMAT_OPTION;
|
||||
}
|
||||
visitor.setUppCase(option.isUppCase());
|
||||
visitor.setPrettyFormat(option.isPrettyFormat());
|
||||
visitor.setParameterized(option.isParameterized());
|
||||
visitor.setPrettyFormat(option.prettyFormat);
|
||||
visitor.setParameterized(option.parameterized);
|
||||
visitor.setDesensitize(option.desensitize);
|
||||
|
||||
if (tableMapping != null) {
|
||||
visitor.setTableMapping(tableMapping);
|
||||
@@ -630,6 +629,7 @@ public class SQLUtils {
|
||||
private boolean ucase = true;
|
||||
private boolean prettyFormat = true;
|
||||
private boolean parameterized = false;
|
||||
private boolean desensitize = false;
|
||||
|
||||
public FormatOption() {
|
||||
|
||||
@@ -649,6 +649,14 @@ public class SQLUtils {
|
||||
this.parameterized = parameterized;
|
||||
}
|
||||
|
||||
public boolean isDesensitize() {
|
||||
return desensitize;
|
||||
}
|
||||
|
||||
public void setDesensitize(boolean desensitize) {
|
||||
this.desensitize = desensitize;
|
||||
}
|
||||
|
||||
public boolean isUppCase() {
|
||||
return ucase;
|
||||
}
|
||||
@@ -865,5 +873,15 @@ public class SQLUtils {
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
public static String desensitizeTable(String tableName) {
|
||||
if (tableName == null) {
|
||||
return null;
|
||||
}
|
||||
|
||||
tableName = normalize(tableName);
|
||||
long hash = Utils.fnv_64_lower(tableName);
|
||||
return Utils.hex_t(hash);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user