package com.palacesun.engine.wrapper;

import bean.Column;
import com.palacesun.engine.common.PreparedStatementInformation;
import com.palacesun.engine.common.ResultSetInformation;
import com.palacesun.engine.event.JdbcEventListener;
import com.palacesun.engine.gateway.EncryptionGatewayManager;
import com.palacesun.engine.gateway.GatewayContext;
import com.palacesun.engine.test.DbCache;
import com.palacesun.engine.test.TestJdbcEventListener;
import com.chenyang.fastjson.JSON;
import com.chenyang.druid.DbType;
import com.chenyang.druid.sql.ast.expr.SQLVariantRefExpr;
import com.chenyang.druid.sql.parser.SQLParserUtils;
import com.chenyang.druid.sql.parser.SQLType;
import com.chenyang.druid.stat.TableStat;
import com.palacesun.masking.log.access.AccessContext;
import com.palacesun.masking.tools.EngineUtil;
import com.palacesun.masking.tools.InsertSqlVaulesUtil;
import com.palacesun.masking.tools.JdbcUtil;
import com.palacesun.masking.tools.ruleload.RuleLoadUtil;
import com.palacesun.masking.tools.thkms.util.gmhelper.SM3Utils;
import com.palacesun.masking.vo.Columninfo;
import com.palacesun.masking.vo.ConnectionInfo;
import com.palacesun.masking.vo.JsonRootBean;
import java.io.InputStream;
import java.io.Reader;
import java.math.BigDecimal;
import java.net.URL;
import java.sql.Array;
import java.sql.Blob;
import java.sql.Clob;
import java.sql.Connection;
import java.sql.Date;
import java.sql.NClob;
import java.sql.ParameterMetaData;
import java.sql.PreparedStatement;
import java.sql.Ref;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.RowId;
import java.sql.SQLException;
import java.sql.SQLXML;
import java.sql.Statement;
import java.sql.Time;
import java.sql.Timestamp;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Collection;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.logging.Logger;
import util.SqlUtil;
import util.sqlparse.visitor.common.scope.ReplaceInfo;

public class PreparedStatementWrapper extends StatementWrapper implements PreparedStatement {
    private final PreparedStatement delegate;
    private final PreparedStatementInformation statementInformation;
    protected static Logger logger = Logger.getLogger(PreparedStatementWrapper.class.getName());
    public static Map<String, Columninfo> sqlIndexKeyMap = new HashMap();
    private static final String ENCRYPT_LIKE_OPEN = EncryptionGatewayManager.getParameterValue("encryption.like.open");
    private static final String ENCRYPT_SEPARATOR = EncryptionGatewayManager.getParameterValue("encryption.separator");

    public static PreparedStatement wrap(PreparedStatement delegate, PreparedStatementInformation preparedStatementInformation, JdbcEventListener eventListener) {
        return delegate == null ? null : new PreparedStatementWrapper(delegate, preparedStatementInformation, eventListener);
    }

    protected PreparedStatementWrapper(PreparedStatement delegate, PreparedStatementInformation preparedStatementInformation, JdbcEventListener eventListener) {
        super(delegate, preparedStatementInformation, eventListener);
        this.delegate = delegate;
        this.statementInformation = preparedStatementInformation;
        if (this.statementInformation.context == null) {
            this.statementInformation.context = new AccessContext(this.statementInformation);
        }

        this.sqlBuffer = this.statementInformation.context.getBuffer();
    }

    public ResultSet executeQuery() throws SQLException {
        SQLException e = null;
        long start = System.nanoTime();

        ResultSet var10;
        try {
            this.eventListener.onBeforeExecuteQuery(this.statementInformation);
            var10 = ResultSetWrapper.wrap(this.delegate.executeQuery(), new ResultSetInformation(this.statementInformation), this.eventListener);
        } catch (SQLException var8) {
            SQLException sqle = var8;
            e = sqle;
            throw e;
        } finally {
            this.eventListener.onAfterExecuteQuery(this.statementInformation, System.nanoTime() - start, e);
        }

        return var10;
    }

    public int executeUpdate() throws SQLException {
        SQLException e = null;
        long start = System.nanoTime();
        int rowCount = 0;

        int var11;
        try {
            this.eventListener.onBeforeExecuteUpdate(this.statementInformation);
            rowCount = this.delegate.executeUpdate();
            var11 = rowCount;
        } catch (SQLException var9) {
            SQLException sqle = var9;
            e = sqle;
            throw e;
        } finally {
            this.eventListener.onAfterExecuteUpdate(this.statementInformation, System.nanoTime() - start, rowCount, e);
        }

        return var11;
    }

    public void setNull(int parameterIndex, int sqlType) throws SQLException {
        SQLException e = null;

        try {
            parameterIndex = this.getParameterIndex(parameterIndex);
            this.sqlBuffer.setValueSqlType(0, parameterIndex, sqlType);
            this.delegate.setNull(parameterIndex, sqlType);
        } catch (SQLException var8) {
            SQLException sqle = var8;
            e = sqle;
            throw e;
        } finally {
            this.eventListener.onAfterPreparedStatementSet(this.statementInformation, parameterIndex, (Object)null, e);
        }

    }

    public void setBoolean(int parameterIndex, boolean x) throws SQLException {
        SQLException e = null;

        try {
            parameterIndex = this.getParameterIndex(parameterIndex);
            this.sqlBuffer.setValue(1, parameterIndex, x);
            this.delegate.setBoolean(parameterIndex, x);
        } catch (SQLException var8) {
            SQLException sqle = var8;
            e = sqle;
            throw e;
        } finally {
            this.eventListener.onAfterPreparedStatementSet(this.statementInformation, parameterIndex, x, e);
        }

    }

    public void setByte(int parameterIndex, byte x) throws SQLException {
        SQLException e = null;

        try {
            parameterIndex = this.getParameterIndex(parameterIndex);
            this.sqlBuffer.setValue(2, parameterIndex, x);
            this.delegate.setByte(parameterIndex, x);
        } catch (SQLException var8) {
            SQLException sqle = var8;
            e = sqle;
            throw e;
        } finally {
            this.eventListener.onAfterPreparedStatementSet(this.statementInformation, parameterIndex, x, e);
        }

    }

    public void setShort(int parameterIndex, short x) throws SQLException {
        SQLException e = null;

        try {
            parameterIndex = this.getParameterIndex(parameterIndex);
            this.sqlBuffer.setValue(7, parameterIndex, x);
            this.delegate.setShort(parameterIndex, x);
        } catch (SQLException var8) {
            SQLException sqle = var8;
            e = sqle;
            throw e;
        } finally {
            this.eventListener.onAfterPreparedStatementSet(this.statementInformation, parameterIndex, x, e);
        }

    }

    public void setInt(int parameterIndex, int x) throws SQLException {
        SQLException e = null;

        try {
            parameterIndex = this.getParameterIndex(parameterIndex);
            this.sqlBuffer.setValue(4, parameterIndex, x);
            this.delegate.setInt(parameterIndex, x);
        } catch (SQLException var8) {
            SQLException sqle = var8;
            e = sqle;
            throw e;
        } finally {
            this.eventListener.onAfterPreparedStatementSet(this.statementInformation, parameterIndex, x, e);
        }

    }

    public void setLong(int parameterIndex, long x) throws SQLException {
        SQLException e = null;

        try {
            parameterIndex = this.getParameterIndex(parameterIndex);
            this.sqlBuffer.setValue(3, parameterIndex, x);
            this.delegate.setLong(parameterIndex, x);
        } catch (SQLException var9) {
            SQLException sqle = var9;
            e = sqle;
            throw e;
        } finally {
            this.eventListener.onAfterPreparedStatementSet(this.statementInformation, parameterIndex, x, e);
        }

    }

    public void setFloat(int parameterIndex, float x) throws SQLException {
        SQLException e = null;

        try {
            parameterIndex = this.getParameterIndex(parameterIndex);
            this.sqlBuffer.setValue(5, parameterIndex, x);
            this.delegate.setFloat(parameterIndex, x);
        } catch (SQLException var8) {
            SQLException sqle = var8;
            e = sqle;
            throw e;
        } finally {
            this.eventListener.onAfterPreparedStatementSet(this.statementInformation, parameterIndex, x, e);
        }

    }

    public void setDouble(int parameterIndex, double x) throws SQLException {
        SQLException e = null;

        try {
            parameterIndex = this.getParameterIndex(parameterIndex);
            this.sqlBuffer.setValue(6, parameterIndex, x);
            this.delegate.setDouble(parameterIndex, x);
        } catch (SQLException var9) {
            SQLException sqle = var9;
            e = sqle;
            throw e;
        } finally {
            this.eventListener.onAfterPreparedStatementSet(this.statementInformation, parameterIndex, x, e);
        }

    }

    public void setBigDecimal(int parameterIndex, BigDecimal x) throws SQLException {
        SQLException e = null;

        try {
            parameterIndex = this.getParameterIndex(parameterIndex);
            this.sqlBuffer.setValue(8, parameterIndex, x);
            this.delegate.setBigDecimal(parameterIndex, x);
        } catch (SQLException var8) {
            SQLException sqle = var8;
            e = sqle;
            throw e;
        } finally {
            this.eventListener.onAfterPreparedStatementSet(this.statementInformation, parameterIndex, x, e);
        }

    }

    private int getParameterIndex(int parameterIndex) {
        int whereLocation = 100000000;
        boolean where = false;
        Map<String, Integer> digestMap = this.statementInformation.getDigestMap();
        if (!digestMap.isEmpty()) {
            Iterator i$ = digestMap.keySet().iterator();

            while(i$.hasNext()) {
                String key = (String)i$.next();
                Integer value = (Integer)digestMap.get(key);
                if (value < whereLocation) {
                    whereLocation = value;
                }
            }

            if (parameterIndex >= whereLocation) {
                where = true;
            }
        }

        if (where) {
            parameterIndex += digestMap.size();
        }

        return parameterIndex;
    }

    public void setString(int parameterIndex, String x1) throws SQLException {
        SQLException e = null;
        String x = null;
        Map<String, Integer> digestMap = null;
        Map<String, String> map = null;
        boolean where = false;
        String tableAndColumnName = null;
        String mathKey = null;

        Exception ex;
        String digestValue;
        try {
            digestValue = this.statementInformation.getSql();
            boolean needSqlParse = DbCache.isNeedSqlParse(digestValue, this.statementInformation);
            RuleLoadUtil.writeLog("@@插件@@---PreparedstatementWrapper解析setString-->" + digestValue);
            RuleLoadUtil.writeLog("@@插件@@---PreparedstatementWrapper解析setString-needSqlParse->" + needSqlParse);
            if (!needSqlParse) {
                this.sqlBuffer.setValue(9, parameterIndex, x1, x1);
                this.delegate.setString(parameterIndex, x1);
                return;
            }

            Columninfo columninfo = (Columninfo)sqlIndexKeyMap.get(digestValue + "_" + parameterIndex);
            if (columninfo == null) {
                map = this.encData(this.statementInformation, parameterIndex, x1);
                x = (String)map.get("x");
                tableAndColumnName = (String)map.get("tableAndColumnName");
                mathKey = (String)map.get("mathKey");
            } else if (columninfo.getSecretkey() != null) {
                x = (String)EngineUtil.exeEngine(columninfo, (ConnectionInfo)null, false, x1, true);
                tableAndColumnName = columninfo.getColumnname();
                mathKey = columninfo.getId();
            } else {
                x = x1;
                tableAndColumnName = columninfo.getColumnname();
                mathKey = columninfo.getId();
            }

            this.sqlBuffer.setValue(9, parameterIndex, x, x1);
            this.delegate.setString(parameterIndex, x);
            if (EngineUtil.digestMap.isEmpty()) {
                return;
            }

            int whereLocation = 100000000;
            digestMap = this.statementInformation.getDigestMap();
            if (!digestMap.isEmpty()) {
                Iterator i$ = digestMap.keySet().iterator();

                while(i$.hasNext()) {
                    String key = (String)i$.next();
                    Integer value = (Integer)digestMap.get(key);
                    if (value < whereLocation) {
                        whereLocation = value;
                    }
                }

                if (parameterIndex >= whereLocation) {
                    where = true;
                }
            }
        } catch (Exception var25) {
            ex = var25;
            ex.printStackTrace();
        }

        try {
            this.sqlBuffer.setValue(9, parameterIndex, x, x1);
            this.delegate.setString(parameterIndex, x);
            if (!digestMap.isEmpty() && !where && tableAndColumnName != null && digestMap.get(tableAndColumnName) != null) {
                digestValue = this.abstractData(mathKey, x);
                this.sqlBuffer.setValue(9, (Integer)digestMap.get(tableAndColumnName), digestValue, (Object)null);
                this.delegate.setString((Integer)digestMap.get(tableAndColumnName), digestValue);
            }
        } catch (SQLException var22) {
            SQLException sqle = var22;
            e = sqle;
            throw e;
        } catch (Exception var23) {
            ex = var23;
            ex.printStackTrace();
        } finally {
            this.eventListener.onAfterPreparedStatementSet(this.statementInformation, parameterIndex, x, e);
        }

    }

    public void setBytes(int parameterIndex, byte[] x) throws SQLException {
        SQLException e = null;

        try {
            parameterIndex = this.getParameterIndex(parameterIndex);
            this.sqlBuffer.setValue(10, parameterIndex, x);
            this.delegate.setBytes(parameterIndex, x);
        } catch (SQLException var8) {
            SQLException sqle = var8;
            e = sqle;
            throw e;
        } finally {
            this.eventListener.onAfterPreparedStatementSet(this.statementInformation, parameterIndex, x, e);
        }

    }

    public void setDate(int parameterIndex, Date x) throws SQLException {
        SQLException e = null;

        try {
            parameterIndex = this.getParameterIndex(parameterIndex);
            this.sqlBuffer.setValue(11, parameterIndex, x);
            this.delegate.setDate(parameterIndex, x);
        } catch (SQLException var8) {
            SQLException sqle = var8;
            e = sqle;
            throw e;
        } finally {
            this.eventListener.onAfterPreparedStatementSet(this.statementInformation, parameterIndex, x, e);
        }

    }

    public void setTime(int parameterIndex, Time x) throws SQLException {
        SQLException e = null;

        try {
            parameterIndex = this.getParameterIndex(parameterIndex);
            this.sqlBuffer.setValue(12, parameterIndex, x);
            this.delegate.setTime(parameterIndex, x);
        } catch (SQLException var8) {
            SQLException sqle = var8;
            e = sqle;
            throw e;
        } finally {
            this.eventListener.onAfterPreparedStatementSet(this.statementInformation, parameterIndex, x, e);
        }

    }

    public void setTimestamp(int parameterIndex, Timestamp x) throws SQLException {
        SQLException e = null;

        try {
            parameterIndex = this.getParameterIndex(parameterIndex);
            this.sqlBuffer.setValue(13, parameterIndex, x);
            this.delegate.setTimestamp(parameterIndex, x);
        } catch (SQLException var8) {
            SQLException sqle = var8;
            e = sqle;
            throw e;
        } finally {
            this.eventListener.onAfterPreparedStatementSet(this.statementInformation, parameterIndex, x, e);
        }

    }

    public void setAsciiStream(int parameterIndex, InputStream x, int length) throws SQLException {
        SQLException e = null;

        try {
            this.sqlBuffer.setValue(14, parameterIndex, x, (long)length, "byte[ascii]");
            this.delegate.setAsciiStream(parameterIndex, x, length);
        } catch (SQLException var9) {
            SQLException sqle = var9;
            e = sqle;
            throw e;
        } finally {
            this.eventListener.onAfterPreparedStatementSet(this.statementInformation, parameterIndex, x, e);
        }

    }

    public void setUnicodeStream(int parameterIndex, InputStream x, int length) throws SQLException {
        SQLException e = null;

        try {
            this.sqlBuffer.setValue(14, parameterIndex, x, (long)length, "byte[ascii]");
            this.delegate.setUnicodeStream(parameterIndex, x, length);
        } catch (SQLException var9) {
            SQLException sqle = var9;
            e = sqle;
            throw e;
        } finally {
            this.eventListener.onAfterPreparedStatementSet(this.statementInformation, parameterIndex, x, e);
        }

    }

    public void setBinaryStream(int parameterIndex, InputStream x, int length) throws SQLException {
        SQLException e = null;

        try {
            this.sqlBuffer.setValue(14, parameterIndex, x, (long)length, "byte[]");
            this.delegate.setBinaryStream(parameterIndex, x, length);
        } catch (SQLException var9) {
            SQLException sqle = var9;
            e = sqle;
            throw e;
        } finally {
            this.eventListener.onAfterPreparedStatementSet(this.statementInformation, parameterIndex, x, e);
        }

    }

    public void clearParameters() throws SQLException {
        this.delegate.clearParameters();
    }

    public void setObject(int parameterIndex, Object x1, int targetSqlType) throws SQLException {
        SQLException e = null;
        Object x = null;
        Map<String, Integer> digestMap = null;
        Map<String, String> map = null;
        boolean where = false;
        String tableAndColumnName = null;
        String mathKey = null;

        try {
            String sql = this.statementInformation.getSql();
            Columninfo columninfo = (Columninfo)sqlIndexKeyMap.get(sql + "_" + parameterIndex);
            if (columninfo == null) {
                if (x1 instanceof String) {
                    map = this.encData(this.statementInformation, parameterIndex, x1.toString());
                    x = map.get("x");
                    tableAndColumnName = (String)map.get("tableAndColumnName");
                    mathKey = (String)map.get("mathKey");
                } else {
                    x = x1;
                }
            } else if (columninfo.getSecretkey() != null) {
                x = (String)EngineUtil.exeEngine(columninfo, (ConnectionInfo)null, false, x1, true);
                tableAndColumnName = columninfo.getColumnname();
                mathKey = columninfo.getId();
            } else {
                x = x1;
                tableAndColumnName = columninfo.getColumnname();
                mathKey = columninfo.getId();
            }

            this.sqlBuffer.setValue(-1, parameterIndex, x, x1, targetSqlType);
            this.delegate.setObject(parameterIndex, x, targetSqlType);
            if (EngineUtil.digestMap.isEmpty()) {
                return;
            }

            int whereLocation = 100000000;
            digestMap = this.statementInformation.getDigestMap();
            if (!digestMap.isEmpty()) {
                Iterator i$ = digestMap.keySet().iterator();

                while(i$.hasNext()) {
                    String key = (String)i$.next();
                    Integer value = (Integer)digestMap.get(key);
                    if (value < whereLocation) {
                        whereLocation = value;
                    }
                }

                if (parameterIndex >= whereLocation) {
                    where = true;
                }
            }

            if (!digestMap.isEmpty() && !where && tableAndColumnName != null && digestMap.get(tableAndColumnName) != null) {
                String digestValue = this.abstractData(mathKey, x.toString());
                this.sqlBuffer.setValue(-1, (Integer)digestMap.get(tableAndColumnName), digestValue, (Object)null);
                this.delegate.setString((Integer)digestMap.get(tableAndColumnName), digestValue);
            }
        } catch (SQLException var21) {
            SQLException sqle = var21;
            e = sqle;
            throw e;
        } catch (Exception var22) {
            Exception ex = var22;
            ex.printStackTrace();
        } finally {
            this.eventListener.onAfterPreparedStatementSet(this.statementInformation, parameterIndex, x, e);
        }

    }

    public void setObject(int parameterIndex, Object x1) throws SQLException {
        SQLException e = null;
        Object x = null;
        Map<String, Integer> digestMap = null;
        Map<String, String> map = null;
        boolean where = false;
        String tableAndColumnName = null;
        String mathKey = null;

        try {
            String sql = this.statementInformation.getSql();
            boolean needSqlParse = DbCache.isNeedSqlParse(sql, this.statementInformation);
            if (!needSqlParse) {
                this.sqlBuffer.setValue(-1, parameterIndex, x1, x1);
                this.delegate.setObject(parameterIndex, x1);
                return;
            }

            Columninfo columninfo = (Columninfo)sqlIndexKeyMap.get(sql + "_" + parameterIndex);
            if (columninfo == null) {
                if (x1 instanceof String) {
                    map = this.encData(this.statementInformation, parameterIndex, x1.toString());
                    x = map.get("x");
                    tableAndColumnName = (String)map.get("tableAndColumnName");
                    mathKey = (String)map.get("mathKey");
                } else {
                    x = x1;
                }
            } else if (columninfo.getSecretkey() != null) {
                x = (String)EngineUtil.exeEngine(columninfo, (ConnectionInfo)null, false, x1, true);
                tableAndColumnName = columninfo.getColumnname();
                mathKey = columninfo.getId();
            } else {
                x = x1;
                tableAndColumnName = columninfo.getColumnname();
                mathKey = columninfo.getId();
            }

            this.sqlBuffer.setValue(-1, parameterIndex, x, x1);
            this.delegate.setObject(parameterIndex, x);
            if (!EngineUtil.digestMap.isEmpty()) {
                int whereLocation = 100000000;
                digestMap = this.statementInformation.getDigestMap();
                if (!digestMap.isEmpty()) {
                    Iterator i$ = digestMap.keySet().iterator();

                    while(i$.hasNext()) {
                        String key = (String)i$.next();
                        Integer value = (Integer)digestMap.get(key);
                        if (value < whereLocation) {
                            whereLocation = value;
                        }
                    }

                    if (parameterIndex >= whereLocation) {
                        where = true;
                    }
                }

                if (!digestMap.isEmpty() && !where && tableAndColumnName != null && digestMap.get(tableAndColumnName) != null) {
                    String digestValue = this.abstractData(mathKey, x.toString());
                    this.sqlBuffer.setValue(-1, (Integer)digestMap.get(tableAndColumnName), digestValue, (Object)null);
                    this.delegate.setString((Integer)digestMap.get(tableAndColumnName), digestValue);
                }

                return;
            }
        } catch (SQLException var21) {
            SQLException sqle = var21;
            e = sqle;
            throw e;
        } catch (Exception var22) {
            Exception ex = var22;
            ex.printStackTrace();
            return;
        } finally {
            this.eventListener.onAfterPreparedStatementSet(this.statementInformation, parameterIndex, x, e);
        }

    }

    public boolean execute() throws SQLException {
        SQLException e = null;
        long start = System.nanoTime();

        boolean var10;
        try {
            this.eventListener.onBeforeExecute(this.statementInformation);
            var10 = this.delegate.execute();
        } catch (SQLException var8) {
            SQLException sqle = var8;
            e = sqle;
            throw e;
        } finally {
            this.eventListener.onAfterExecute(this.statementInformation, System.nanoTime() - start, e);
        }

        return var10;
    }

    public void addBatch() throws SQLException {
        SQLException e = null;
        long start = System.nanoTime();

        try {
            this.eventListener.onBeforeAddBatch(this.statementInformation);
            this.delegate.addBatch();
        } catch (SQLException var8) {
            SQLException sqle = var8;
            e = sqle;
            throw e;
        } finally {
            this.eventListener.onAfterAddBatch(this.statementInformation, System.nanoTime() - start, e);
        }

    }

    public void setCharacterStream(int parameterIndex, Reader reader, int length) throws SQLException {
        SQLException e = null;

        try {
            this.sqlBuffer.setValue(15, parameterIndex, reader, length);
            this.delegate.setCharacterStream(parameterIndex, reader, length);
        } catch (SQLException var9) {
            SQLException sqle = var9;
            e = sqle;
            throw e;
        } finally {
            this.eventListener.onAfterPreparedStatementSet(this.statementInformation, parameterIndex, reader, e);
        }

    }

    public void setRef(int parameterIndex, Ref x) throws SQLException {
        SQLException e = null;

        try {
            this.sqlBuffer.setValue(16, parameterIndex, x);
            this.delegate.setRef(parameterIndex, x);
        } catch (SQLException var8) {
            SQLException sqle = var8;
            e = sqle;
            throw e;
        } finally {
            this.eventListener.onAfterPreparedStatementSet(this.statementInformation, parameterIndex, x, e);
        }

    }

    public void setBlob(int parameterIndex, Blob x) throws SQLException {
        SQLException e = null;

        try {
            this.sqlBuffer.setValue(18, parameterIndex, x);
            this.delegate.setBlob(parameterIndex, x);
        } catch (SQLException var8) {
            SQLException sqle = var8;
            e = sqle;
            throw e;
        } finally {
            this.eventListener.onAfterPreparedStatementSet(this.statementInformation, parameterIndex, x, e);
        }

    }

    public void setClob(int parameterIndex, Clob x) throws SQLException {
        SQLException e = null;

        try {
            this.sqlBuffer.setValue(19, parameterIndex, x);
            this.delegate.setClob(parameterIndex, x);
        } catch (SQLException var8) {
            SQLException sqle = var8;
            e = sqle;
            throw e;
        } finally {
            this.eventListener.onAfterPreparedStatementSet(this.statementInformation, parameterIndex, x, e);
        }

    }

    public void setArray(int parameterIndex, Array x) throws SQLException {
        SQLException e = null;

        try {
            this.sqlBuffer.setValue(20, parameterIndex, x);
            this.delegate.setArray(parameterIndex, x);
        } catch (SQLException var8) {
            SQLException sqle = var8;
            e = sqle;
            throw e;
        } finally {
            this.eventListener.onAfterPreparedStatementSet(this.statementInformation, parameterIndex, x, e);
        }

    }

    public void setDate(int parameterIndex, Date x, Calendar cal) throws SQLException {
        SQLException e = null;

        try {
            this.sqlBuffer.setValue(11, parameterIndex, x, cal);
            this.delegate.setDate(parameterIndex, x, cal);
        } catch (SQLException var9) {
            SQLException sqle = var9;
            e = sqle;
            throw e;
        } finally {
            this.eventListener.onAfterPreparedStatementSet(this.statementInformation, parameterIndex, x, e);
        }

    }

    public void setTime(int parameterIndex, Time x, Calendar cal) throws SQLException {
        SQLException e = null;

        try {
            this.sqlBuffer.setValue(12, parameterIndex, x, cal);
            this.delegate.setTime(parameterIndex, x, cal);
        } catch (SQLException var9) {
            SQLException sqle = var9;
            e = sqle;
            throw e;
        } finally {
            this.eventListener.onAfterPreparedStatementSet(this.statementInformation, parameterIndex, x, e);
        }

    }

    public void setTimestamp(int parameterIndex, Timestamp x, Calendar cal) throws SQLException {
        SQLException e = null;

        try {
            this.sqlBuffer.setValue(13, parameterIndex, x, cal);
            this.delegate.setTimestamp(parameterIndex, x, cal);
        } catch (SQLException var9) {
            SQLException sqle = var9;
            e = sqle;
            throw e;
        } finally {
            this.eventListener.onAfterPreparedStatementSet(this.statementInformation, parameterIndex, x, e);
        }

    }

    public void setNull(int parameterIndex, int sqlType, String typeName) throws SQLException {
        SQLException e = null;

        try {
            this.sqlBuffer.setValue(0, parameterIndex, sqlType, typeName);
            this.delegate.setNull(parameterIndex, sqlType, typeName);
        } catch (SQLException var9) {
            SQLException sqle = var9;
            e = sqle;
            throw e;
        } finally {
            this.eventListener.onAfterPreparedStatementSet(this.statementInformation, parameterIndex, (Object)null, e);
        }

    }

    public void setURL(int parameterIndex, URL x) throws SQLException {
        SQLException e = null;

        try {
            this.sqlBuffer.setValue(21, parameterIndex, x);
            this.delegate.setURL(parameterIndex, x);
        } catch (SQLException var8) {
            SQLException sqle = var8;
            e = sqle;
            throw e;
        } finally {
            this.eventListener.onAfterPreparedStatementSet(this.statementInformation, parameterIndex, x, e);
        }

    }

    public void setRowId(int parameterIndex, RowId x) throws SQLException {
        SQLException e = null;

        try {
            this.sqlBuffer.setValue(17, parameterIndex, x);
            this.delegate.setRowId(parameterIndex, x);
        } catch (SQLException var8) {
            SQLException sqle = var8;
            e = sqle;
            throw e;
        } finally {
            this.eventListener.onAfterPreparedStatementSet(this.statementInformation, parameterIndex, x, e);
        }

    }

    public void setNString(int parameterIndex, String value) throws SQLException {
        SQLException e = null;

        try {
            this.sqlBuffer.setValue(9, parameterIndex, value);
            this.delegate.setNString(parameterIndex, value);
        } catch (SQLException var8) {
            SQLException sqle = var8;
            e = sqle;
            throw e;
        } finally {
            this.eventListener.onAfterPreparedStatementSet(this.statementInformation, parameterIndex, value, e);
        }

    }

    public void setNCharacterStream(int parameterIndex, Reader value, long length) throws SQLException {
        SQLException e = null;

        try {
            this.sqlBuffer.setValue(15, parameterIndex, value, length, "string");
            this.delegate.setNCharacterStream(parameterIndex, value, length);
        } catch (SQLException var10) {
            SQLException sqle = var10;
            e = sqle;
            throw e;
        } finally {
            this.eventListener.onAfterPreparedStatementSet(this.statementInformation, parameterIndex, value, e);
        }

    }

    public void setNClob(int parameterIndex, NClob value) throws SQLException {
        SQLException e = null;

        try {
            this.sqlBuffer.setValue(22, parameterIndex, value);
            this.delegate.setNClob(parameterIndex, value);
        } catch (SQLException var8) {
            SQLException sqle = var8;
            e = sqle;
            throw e;
        } finally {
            this.eventListener.onAfterPreparedStatementSet(this.statementInformation, parameterIndex, value, e);
        }

    }

    public void setClob(int parameterIndex, Reader reader, long length) throws SQLException {
        SQLException e = null;

        try {
            this.sqlBuffer.setValue(19, parameterIndex, reader, length, "string");
            this.delegate.setClob(parameterIndex, reader, length);
        } catch (SQLException var10) {
            SQLException sqle = var10;
            e = sqle;
            throw e;
        } finally {
            this.eventListener.onAfterPreparedStatementSet(this.statementInformation, parameterIndex, reader, e);
        }

    }

    public void setBlob(int parameterIndex, InputStream inputStream, long length) throws SQLException {
        SQLException e = null;

        try {
            this.sqlBuffer.setValue(14, parameterIndex, inputStream, length, "byte[]");
            this.delegate.setBlob(parameterIndex, inputStream, length);
        } catch (SQLException var10) {
            SQLException sqle = var10;
            e = sqle;
            throw e;
        } finally {
            this.eventListener.onAfterPreparedStatementSet(this.statementInformation, parameterIndex, inputStream, e);
        }

    }

    public void setNClob(int parameterIndex, Reader reader, long length) throws SQLException {
        SQLException e = null;

        try {
            this.sqlBuffer.setValue(15, parameterIndex, reader, length, "string");
            this.delegate.setNClob(parameterIndex, reader, length);
        } catch (SQLException var10) {
            SQLException sqle = var10;
            e = sqle;
            throw e;
        } finally {
            this.eventListener.onAfterPreparedStatementSet(this.statementInformation, parameterIndex, reader, e);
        }

    }

    public void setSQLXML(int parameterIndex, SQLXML xmlObject) throws SQLException {
        SQLException e = null;

        try {
            this.sqlBuffer.setValue(23, parameterIndex, xmlObject);
            this.delegate.setSQLXML(parameterIndex, xmlObject);
        } catch (SQLException var8) {
            SQLException sqle = var8;
            e = sqle;
            throw e;
        } finally {
            this.eventListener.onAfterPreparedStatementSet(this.statementInformation, parameterIndex, xmlObject, e);
        }

    }

    public void setObject(int parameterIndex, Object x1, int targetSqlType, int scaleOrLength) throws SQLException {
        SQLException e = null;
        Object x = null;
        Map<String, Integer> digestMap = null;
        Map<String, String> map = null;
        boolean where = false;
        String tableAndColumnName = null;
        String mathKey = null;

        try {
            String sql = this.statementInformation.getSql();
            boolean needSqlParse = DbCache.isNeedSqlParse(sql, this.statementInformation);
            if (needSqlParse) {
                Columninfo columninfo = (Columninfo)sqlIndexKeyMap.get(sql + "_" + parameterIndex);
                if (columninfo == null) {
                    if (x1 instanceof String) {
                        map = this.encData(this.statementInformation, parameterIndex, x1.toString());
                        x = map.get("x");
                        tableAndColumnName = (String)map.get("tableAndColumnName");
                        mathKey = (String)map.get("mathKey");
                    } else {
                        x = x1;
                    }
                } else if (columninfo.getSecretkey() != null) {
                    x = (String)EngineUtil.exeEngine(columninfo, (ConnectionInfo)null, false, x1, true);
                    tableAndColumnName = columninfo.getColumnname();
                    mathKey = columninfo.getId();
                } else {
                    x = x1;
                    tableAndColumnName = columninfo.getColumnname();
                    mathKey = columninfo.getId();
                }

                this.sqlBuffer.setValue(-1, parameterIndex, x, x1, targetSqlType, scaleOrLength);
                this.delegate.setObject(parameterIndex, x, targetSqlType, scaleOrLength);
                if (EngineUtil.digestMap.isEmpty()) {
                    return;
                }

                int whereLocation = 100000000;
                digestMap = this.statementInformation.getDigestMap();
                if (!digestMap.isEmpty()) {
                    Iterator i$ = digestMap.keySet().iterator();

                    while(i$.hasNext()) {
                        String key = (String)i$.next();
                        Integer value = (Integer)digestMap.get(key);
                        if (value < whereLocation) {
                            whereLocation = value;
                        }
                    }

                    if (parameterIndex >= whereLocation) {
                        where = true;
                    }
                }

                if (!digestMap.isEmpty() && !where && tableAndColumnName != null && digestMap.get(tableAndColumnName) != null) {
                    String digestValue = this.abstractData(mathKey, x.toString());
                    this.sqlBuffer.setValue(-1, (Integer)digestMap.get(tableAndColumnName), digestValue, (Object)null);
                    this.delegate.setString((Integer)digestMap.get(tableAndColumnName), digestValue);
                }

                return;
            }

            this.sqlBuffer.setValue(-1, parameterIndex, x1, x1, targetSqlType, scaleOrLength);
            this.delegate.setObject(parameterIndex, x1, targetSqlType, scaleOrLength);
        } catch (SQLException var23) {
            SQLException sqle = var23;
            e = sqle;
            throw e;
        } catch (Exception var24) {
            Exception ex = var24;
            ex.printStackTrace();
            return;
        } finally {
            this.eventListener.onAfterPreparedStatementSet(this.statementInformation, parameterIndex, x, e);
        }

    }

    public void setAsciiStream(int parameterIndex, InputStream x, long length) throws SQLException {
        SQLException e = null;

        try {
            this.sqlBuffer.setValue(14, parameterIndex, x, length, "byte[ascii]");
            this.delegate.setAsciiStream(parameterIndex, x, length);
        } catch (SQLException var10) {
            SQLException sqle = var10;
            e = sqle;
            throw e;
        } finally {
            this.eventListener.onAfterPreparedStatementSet(this.statementInformation, parameterIndex, x, e);
        }

    }

    public void setBinaryStream(int parameterIndex, InputStream x, long length) throws SQLException {
        SQLException e = null;

        try {
            this.sqlBuffer.setValue(14, parameterIndex, x, length, "byte[]");
            this.delegate.setBinaryStream(parameterIndex, x, length);
        } catch (SQLException var10) {
            SQLException sqle = var10;
            e = sqle;
            throw e;
        } finally {
            this.eventListener.onAfterPreparedStatementSet(this.statementInformation, parameterIndex, x, e);
        }

    }

    public void setCharacterStream(int parameterIndex, Reader reader, long length) throws SQLException {
        SQLException e = null;

        try {
            this.sqlBuffer.setValue(15, parameterIndex, reader, length, "byte[string]");
            this.delegate.setCharacterStream(parameterIndex, reader, length);
        } catch (SQLException var10) {
            SQLException sqle = var10;
            e = sqle;
            throw e;
        } finally {
            this.eventListener.onAfterPreparedStatementSet(this.statementInformation, parameterIndex, reader, e);
        }

    }

    public void setAsciiStream(int parameterIndex, InputStream x) throws SQLException {
        SQLException e = null;

        try {
            this.sqlBuffer.setValue(14, parameterIndex, x, "byte[ascii]");
            this.delegate.setAsciiStream(parameterIndex, x);
        } catch (SQLException var8) {
            SQLException sqle = var8;
            e = sqle;
            throw e;
        } finally {
            this.eventListener.onAfterPreparedStatementSet(this.statementInformation, parameterIndex, x, e);
        }

    }

    public void setBinaryStream(int parameterIndex, InputStream x) throws SQLException {
        SQLException e = null;

        try {
            this.sqlBuffer.setValue(14, parameterIndex, x, "byte[]");
            this.delegate.setBinaryStream(parameterIndex, x);
        } catch (SQLException var8) {
            SQLException sqle = var8;
            e = sqle;
            throw e;
        } finally {
            this.eventListener.onAfterPreparedStatementSet(this.statementInformation, parameterIndex, x, e);
        }

    }

    public void setCharacterStream(int parameterIndex, Reader reader) throws SQLException {
        SQLException e = null;

        try {
            this.sqlBuffer.setValue(15, parameterIndex, reader, "byte[string]");
            this.delegate.setCharacterStream(parameterIndex, reader);
        } catch (SQLException var8) {
            SQLException sqle = var8;
            e = sqle;
            throw e;
        } finally {
            this.eventListener.onAfterPreparedStatementSet(this.statementInformation, parameterIndex, reader, e);
        }

    }

    public void setNCharacterStream(int parameterIndex, Reader value) throws SQLException {
        SQLException e = null;

        try {
            this.sqlBuffer.setValue(15, parameterIndex, value, "byte[string]");
            this.delegate.setNCharacterStream(parameterIndex, value);
        } catch (SQLException var8) {
            SQLException sqle = var8;
            e = sqle;
            throw e;
        } finally {
            this.eventListener.onAfterPreparedStatementSet(this.statementInformation, parameterIndex, value, e);
        }

    }

    public void setClob(int parameterIndex, Reader reader) throws SQLException {
        SQLException e = null;

        try {
            this.sqlBuffer.setValue(15, parameterIndex, reader, "byte[string]");
            this.delegate.setClob(parameterIndex, reader);
        } catch (SQLException var8) {
            SQLException sqle = var8;
            e = sqle;
            throw e;
        } finally {
            this.eventListener.onAfterPreparedStatementSet(this.statementInformation, parameterIndex, reader, e);
        }

    }

    public void setBlob(int parameterIndex, InputStream inputStream) throws SQLException {
        SQLException e = null;

        try {
            this.sqlBuffer.setValue(14, parameterIndex, inputStream, "byte[]");
            this.delegate.setBlob(parameterIndex, inputStream);
        } catch (SQLException var8) {
            SQLException sqle = var8;
            e = sqle;
            throw e;
        } finally {
            this.eventListener.onAfterPreparedStatementSet(this.statementInformation, parameterIndex, inputStream, e);
        }

    }

    public void setNClob(int parameterIndex, Reader reader) throws SQLException {
        SQLException e = null;

        try {
            this.sqlBuffer.setValue(15, parameterIndex, reader, "byte[string]");
            this.delegate.setNClob(parameterIndex, reader);
        } catch (SQLException var8) {
            SQLException sqle = var8;
            e = sqle;
            throw e;
        } finally {
            this.eventListener.onAfterPreparedStatementSet(this.statementInformation, parameterIndex, reader, e);
        }

    }

    public ParameterMetaData getParameterMetaData() throws SQLException {
        return this.delegate.getParameterMetaData();
    }

    public ResultSetMetaData getMetaData() throws SQLException {
        return this.delegate.getMetaData();
    }

    public Map<String, String> encData(PreparedStatementInformation statementInformation, int parameterIndex, String x) throws Exception {
        Map<String, String> encDataMap = new HashMap();
        ((Map)encDataMap).put("x", x);
        if (!GatewayContext.isPluginEnabled()) {
            return (Map)encDataMap;
        } else {
            String dbType = "";
            String urlDbType = statementInformation.getConnectionInformation().getUrl();
            String driverName = statementInformation.getConnectionInformation().getConnection().getMetaData().getDriverName();
            dbType = ConnectionWrapper.getDbType(driverName, urlDbType, dbType);
            List<Object> insertValueList = new ArrayList();

            try {
                Connection connection = statementInformation.getConnectionInformation().getConnection();
                String urlTemp = connection.getMetaData().getURL();
                String ip = (String)TestJdbcEventListener.getIpAndPort(urlTemp).get("ip");
                String port = (String)TestJdbcEventListener.getIpAndPort(urlTemp).get("port");
                String schema = "";
                String tableName = "";
                String sql1;
                int end;
                if ("oracle".equals(dbType)) {
                    schema = connection.getMetaData().getUserName();
                } else {
                    int from;
                    String address;
                    int idx;
                    if (!"postgresql".equals(dbType) && !"greenplum".equals(dbType) && !"gauss".equals(dbType) && !"gaussdb".equalsIgnoreCase(dbType)) {
                        if ("sql server".equals(dbType)) {
                            sql1 = connection.getMetaData().getURL();
                            if (sql1.indexOf("applicationName") > 0) {
                                schema = sql1.substring(sql1.indexOf("applicationName") + "applicationName".length() + 1);
                                if (schema.indexOf(";") != -1) {
                                    schema = schema.substring(0, schema.indexOf(";"));
                                }
                            } else {
                                schema = "dbo";
                            }
                        } else if ("dm".equals(dbType)) {
                            sql1 = connection.getMetaData().getURL();
                            if (sql1.toLowerCase().contains("schema=")) {
                                schema = sql1.substring(sql1.toLowerCase().indexOf("schema=") + 7);
                            } else {
                                from = sql1.indexOf("://");
                                end = sql1.indexOf("?");
                                address = end == -1 ? sql1.substring(from + 3) : sql1.substring(from + 3, end);
                                idx = address.lastIndexOf("/");
                                schema = address.substring(idx + 1);
                            }
                        } else if ("db2".equals(dbType)) {
                            Statement stmt = connection.createStatement();
                            ResultSet rs = stmt.executeQuery("SELECT CURRENT SCHEMA FROM SYSIBM.SYSDUMMY1");
                            if (rs.next()) {
                                schema = rs.getString(1).trim();
                            } else {
                                schema = connection.getMetaData().getUserName();
                            }

                            rs.close();
                            stmt.close();
                        } else if ("kingbase".equals(dbType)) {
                            sql1 = connection.getMetaData().getURL();
                            if (sql1.indexOf("searchpath") > 0) {
                                schema = sql1.substring(sql1.indexOf("searchpath") + 11);
                            } else if (sql1.indexOf("currentSchema") > 0) {
                                schema = sql1.substring(sql1.indexOf("currentSchema") + 14);
                            } else {
                                schema = "public";
                            }
                        } else if ("mysql".equals(dbType)) {
                            sql1 = connection.getMetaData().getURL();
                            from = sql1.indexOf("://");
                            end = sql1.indexOf("?");
                            address = end == -1 ? sql1.substring(from + 3) : sql1.substring(from + 3, end);
                            idx = address.lastIndexOf("/");
                            schema = address.substring(idx + 1);
                        } else if ("mariadb".equals(dbType)) {
                            sql1 = connection.getMetaData().getURL();
                            from = sql1.indexOf("://");
                            end = sql1.indexOf("?");
                            address = end == -1 ? sql1.substring(from + 3) : sql1.substring(from + 3, end);
                            idx = address.lastIndexOf("/");
                            schema = address.substring(idx + 1);
                        } else if ("hive".equals(dbType)) {
                            sql1 = connection.getMetaData().getURL();
                            from = sql1.indexOf("://");
                            end = sql1.indexOf("?");
                            address = end == -1 ? sql1.substring(from + 3) : sql1.substring(from + 3, end);
                            idx = address.lastIndexOf("/");
                            schema = address.substring(idx + 1);
                            if (schema.indexOf(";") > 0) {
                                schema = schema.substring(0, schema.indexOf(";"));
                            }
                        } else {
                            schema = connection.getCatalog();
                        }
                    } else {
                        sql1 = connection.getMetaData().getURL();
                        if (sql1.indexOf("searchpath") > 0) {
                            schema = sql1.substring(sql1.indexOf("searchpath") + 11);
                        } else if (sql1.indexOf("currentSchema") > 0) {
                            schema = sql1.substring(sql1.indexOf("currentSchema") + 14);
                        } else if (sql1.contains("gbasedbt-sqli")) {
                            from = sql1.indexOf("://");
                            end = sql1.indexOf("?");
                            address = end == -1 ? sql1.substring(from + 3) : sql1.substring(from + 3, end);
                            idx = address.lastIndexOf("/");
                            schema = address.substring(idx + 1);
                            if (schema.indexOf(":") > 0) {
                                schema = schema.substring(0, schema.indexOf(":"));
                            }
                        } else {
                            schema = "public";
                        }
                    }
                }

                sql1 = statementInformation.getSql();
                String sqlAll;
                if (sql1.indexOf("-- appUsername=") > 0) {
                    sqlAll = sql1.substring(0, sql1.indexOf("-- appUsername=")).trim();
                } else {
                    sqlAll = sql1;
                }

                end = 0;
//                int lastIndexColumn = false;
                if ("mysql".equals(dbType) && schema.contains("-")) {
                    sqlAll = MysqlSchemaExtractor.handleSchema(sqlAll);
                }

                String[] split = sqlAll.split(";\r\n");

                for(int i = 0; i < split.length; ++i) {
                    String sql = split[i];
                    SQLType sqlType = SQLParserUtils.getSQLType(sql, DbType.of(dbType));
                    int sqlParamNum = sql.concat("t").split("\\?").length - 1;
                    end += sqlParamNum;
                    int lastIndexColumn = end - sqlParamNum;
                    if (parameterIndex > lastIndexColumn && parameterIndex <= end) {
                        new ArrayList();
                        new ArrayList();
                        List<Map<String, Object>> stringObjectMapList = (List)ConnectionWrapper.sqlParseMap.get(sqlAll);
                        if (stringObjectMapList == null || stringObjectMapList.isEmpty()) {
                            stringObjectMapList = statementInformation.sqlParse;
                        }

                        if (stringObjectMapList == null || stringObjectMapList.isEmpty()) {
                            stringObjectMapList = this.getColumns(statementInformation, sql, dbType, schema);
                        }

                        Map<String, Object> stringObjectMap = (Map)stringObjectMapList.get(0);
                        ArrayList<Column> columnList = (ArrayList)stringObjectMap.get("columnList");
                        if (columnList == null || columnList.isEmpty()) {
                            RuleLoadUtil.writeLog("@@插件@@---PreparedstatementWrapper解析columnList为空-->");
                        }

                        List<Map<String, Object>> whereList = (List)stringObjectMap.get("whereList");
                        if (whereList == null || whereList.isEmpty()) {
                            RuleLoadUtil.writeLog("@@插件@@---PreparedstatementWrapper解析whereList为空-->");
                        }

                        Object value = null;
                        Boolean encFlag = false;
                        parameterIndex -= lastIndexColumn;
                        encDataMap = this.encryption(sql1, insertValueList, sqlType, ip, port, schema, tableName, columnList, value, encFlag, whereList, parameterIndex, x, statementInformation.getReplaceInfo());
                        break;
                    }
                }

                return (Map)encDataMap;
            } catch (Exception var30) {
                Exception e1 = var30;
                e1.printStackTrace();
                throw e1;
            }
        }
    }

    public String abstractData(String mathKey, String x) throws Exception {
        String hashStr = "";

        try {
            boolean isDigest = EngineUtil.digestMapBak.containsKey(mathKey);
            if (isDigest) {
                Columninfo map = (Columninfo)EngineUtil.digestMapBak.get(mathKey);
                hashStr = SM3Utils.encrypt(x, map.getSecretkey());
            } else {
                hashStr = x;
            }

            return hashStr;
        } catch (Exception var6) {
            Exception e1 = var6;
            e1.printStackTrace();
            throw e1;
        }
    }

    private ArrayList<Column> sortColumns(ArrayList<Column> columnList, Collection<TableStat.Column> insertFields) {
        ArrayList<Column> sortColumnList = new ArrayList();
        if (!(insertFields instanceof ArrayList)) {
            return columnList;
        } else {
            List<TableStat.Column> insertList = (ArrayList)insertFields;

            for(int i = 0; i < insertList.size(); ++i) {
                Iterator i$ = columnList.iterator();

                while(i$.hasNext()) {
                    Column column = (Column)i$.next();
                    if (column.getColumnName().equalsIgnoreCase(((TableStat.Column)insertList.get(i)).getName())) {
                        sortColumnList.add(column);
                        break;
                    }
                }
            }

            return sortColumnList;
        }
    }

    private void getUpdateSetFields(PreparedStatementInformation statementInformation, String dbType, String schema, String tableName, ArrayList<Column> updateList) throws SQLException {
        List<Column> columnList = null;
        new ArrayList();
        if (!"mysql".equals(dbType) && !"mariadb".equals(dbType)) {
            if ("oracle".equals(dbType)) {
                columnList = JdbcUtil.getColumnOfOracle(statementInformation.getConnectionInformation().getConnection().createStatement(), schema, tableName);
            } else if (!"postgresql".equals(dbType) && !"greenplum".equals(dbType) && !"gauss".equals(dbType)) {
                if ("hive".equals(dbType)) {
                    columnList = JdbcUtil.getColumnOfHive(statementInformation.getConnectionInformation().getConnection().createStatement(), schema, tableName);
                } else if ("dm".equals(dbType)) {
                    columnList = JdbcUtil.getColumnOfDm(statementInformation.getConnectionInformation().getConnection().createStatement(), schema, tableName);
                } else if ("db2".equals(dbType)) {
                    columnList = JdbcUtil.getColumnOfDb2(statementInformation.getConnectionInformation().getConnection().createStatement(), schema, tableName);
                } else if ("sql server".equals(dbType)) {
                    columnList = JdbcUtil.getColumnOfSqlserver(statementInformation.getConnectionInformation().getConnection().createStatement(), schema, tableName);
                } else if ("kingbase".equals(dbType)) {
                    columnList = JdbcUtil.getColumnOfKingbase(statementInformation.getConnectionInformation().getConnection().createStatement(), schema, tableName);
                } else if ("gbase".equals(dbType)) {
                }
            } else {
                columnList = JdbcUtil.getColumnOfPostgresql(statementInformation.getConnectionInformation().getConnection().createStatement(), schema, tableName);
            }
        } else {
            columnList = JdbcUtil.getColumnOfMysql(statementInformation.getConnectionInformation().getConnection().createStatement(), schema, tableName);
        }

        ArrayList<Column> finalUpdateList = updateList;
        Iterator i$ = columnList.iterator();

        while(i$.hasNext()) {
            Column col = (Column)i$.next();
            Column tm = new Column(col.getColumnName(), col.getSchema(), col.getTable(), col.getDataType());
            finalUpdateList.add(tm);
        }

    }

    private List<Map<String, Object>> getColumns(PreparedStatementInformation statementInformation, String sql, String dbType, String schema) throws SQLException {
        Map<String, String> params = new HashMap();
        params.put("sql", sql);
        params.put("dbType", dbType);
        params.put("schema", schema);
        params.put("encryption", "1");
        String url = statementInformation.getConnectionInformation().getConnection().getMetaData().getURL();
        params.put("url", url);
        SqlUtil sqlUtil = new SqlUtil();
        List<Map<String, Object>> maps = sqlUtil.parseSqlStructureEnc(params);
        if (maps != null && !maps.isEmpty()) {
            Map<String, Object> stringObjectMap = (Map)maps.get(0);
            if (!stringObjectMap.isEmpty()) {
                String trim = sql.toLowerCase().trim();
                if ((trim.startsWith("insert") || trim.startsWith("update")) && trim.contains("?")) {
                    ConnectionWrapper.sqlParseMap.put(sql, maps);
                } else if (trim.startsWith("select")) {
                    ConnectionWrapper.sqlParseMap.put(sql, maps);
                }

                statementInformation.sqlParse = maps;
            }
        }

        return maps;
    }

    private String getDbType(PreparedStatementInformation statementInformation, String dbType) throws Exception {
        try {
            String hiveurl = statementInformation.getConnectionInformation().getUrl();
            if (hiveurl.toLowerCase().contains("hive")) {
                return "hive";
            } else {
                String driverName = statementInformation.getConnectionInformation().getConnection().getMetaData().getDriverName();
                if (driverName.toLowerCase().contains("mysql")) {
                    dbType = "mysql";
                } else if (driverName.toLowerCase().contains("oracle")) {
                    dbType = "oracle";
                } else if (driverName.toLowerCase().contains("postgresql")) {
                    String url = statementInformation.getConnectionInformation().getConnection().getMetaData().getURL();
                    if (url.contains("gauss")) {
                        dbType = "gauss";
                        return dbType;
                    }

                    if (url.contains("greenplum")) {
                        dbType = "greenplum";
                        return dbType;
                    }

                    dbType = "postgresql";
                } else if (driverName.toLowerCase().contains("hive")) {
                    dbType = "hive";
                } else if (driverName.toLowerCase().contains("dm")) {
                    dbType = "dm";
                } else if (driverName.toLowerCase().contains("ibm")) {
                    dbType = "db2";
                } else if (driverName.toLowerCase().contains("sql server")) {
                    dbType = "sql server";
                } else if (driverName.toLowerCase().contains("kingbase")) {
                    dbType = "kingbase";
                } else if (driverName.toLowerCase().contains("gbase 8s")) {
                    dbType = "postgresql";
                }

                return dbType;
            }
        } catch (Exception var6) {
            Exception e = var6;
            e.printStackTrace();
            throw e;
        }
    }

    public Boolean find(String empNumber, Collection<TableStat.Column> list) {
        Iterator iterator = list.iterator();

        TableStat.Column column;
        do {
            if (!iterator.hasNext()) {
                return false;
            }

            column = (TableStat.Column)iterator.next();
        } while(!column.getName().equalsIgnoreCase(empNumber));

        return true;
    }

    private List<Object> getInsertSqlValueList(String sql, List<Object> valueList) {
        if (sql.indexOf("-- appUsername=") > 0) {
            sql = sql.substring(0, sql.indexOf("-- appUsername=")).trim();
        }

        String lowerSql = sql.toLowerCase();
        String[] split = lowerSql.split(";\r\n");
        String[] arr$ = split;
        int len$ = arr$.length;

        for(int i$ = 0; i$ < len$; ++i$) {
            String s = arr$[i$];
            String tempsql;
            if (s.contains("values")) {
                tempsql = s.substring(s.indexOf("values") + 6);
                tempsql = tempsql.replaceFirst("\\(", "");
                tempsql = tempsql.replaceFirst("[\\\\)]+$", "");
                if (tempsql.trim().endsWith(";")) {
                    tempsql = tempsql.trim().substring(0, tempsql.trim().length() - 1);
                }

                valueList.addAll(InsertSqlVaulesUtil.getTableColumnValueByMatchingSingleQuotes(tempsql.split(",")));
            } else if (s.contains("value")) {
                tempsql = s.substring(s.indexOf("value") + 5);
                tempsql = tempsql.replaceFirst("\\(", "");
                tempsql = tempsql.replaceFirst("[\\\\)]+$", "");
                if (tempsql.trim().endsWith(";")) {
                    tempsql = tempsql.trim().substring(0, tempsql.trim().length() - 1);
                }

                valueList = InsertSqlVaulesUtil.getTableColumnValueByMatchingSingleQuotes(tempsql.split(","));
            }
        }

        return valueList;
    }

    private Map<String, String> encryption(String sql, List<Object> insertValueList, SQLType sqlType, String ip, String port, String schema, String tableName, ArrayList<Column> columnList, Object value, Boolean encFlag, List<Map<String, Object>> whereList, int parameterIndex, String x, ReplaceInfo replaceInfo) throws SQLException {
        Map hashMap = new HashMap();
        boolean ismaksing = false;
        HashMap<Integer, Integer> ids = new HashMap();
        int m = 1;
        Column column = null;
        if (sqlType == SQLType.INSERT) {
        }

        int computeParameterIndex;
        if (sqlType == SQLType.UPDATE) {
            for(computeParameterIndex = 0; computeParameterIndex < columnList.size(); ++computeParameterIndex) {
                String v = ((Column)columnList.get(computeParameterIndex)).getValue();
                if (v != null && String.valueOf(((Column)columnList.get(computeParameterIndex)).getValue()).trim().equals("?")) {
                    ids.put(m, computeParameterIndex);
                    ++m;
                }
            }
        }

        if (null != ids && ids.containsKey(parameterIndex)) {
            if (sqlType == SQLType.INSERT) {
                parameterIndex = parameterIndex % ids.size() == 0 ? ids.size() : parameterIndex % ids.size();
            }

            column = (Column)columnList.get((Integer)ids.get(parameterIndex) % columnList.size());
        }

        String columnName;
        if (null != column) {
            columnName = column.getColumnName().contains(".") ? column.getColumnName().split("\\.")[1] : column.getColumnName();
            String mathKey = (ip + "_" + port + "_" + schema + "_" + tableName + "_" + columnName).toLowerCase().replace("`", "").replace("\"", "");
            RuleLoadUtil.writeLog("@@插件@@---PreparedstatementWrapper参数加密时获取的mathKey：-->" + mathKey);
            if (EngineUtil.encryptionMap.isEmpty()) {
                EngineUtil.keyCacheFromFile();
            }

            ismaksing = EngineUtil.encryptionMap.containsKey(mathKey);
            if (ismaksing) {
                Boolean flag = false;

                try {
                    Columninfo map = (Columninfo)EngineUtil.encryptionMap.get(mathKey);
                    if (sqlType == SQLType.INSERT) {
                        RuleLoadUtil.writeLog("@@插件@@---PreparedstatementWrapper参数原值：-->" + x);
                        value = EngineUtil.exeEngine(map, (ConnectionInfo)null, flag, x, true);
                        x = (String)value;
                        RuleLoadUtil.writeLog("@@插件@@---PreparedstatementWrapper参数加密后的值：-->" + x);
                    } else if (sqlType == SQLType.UPDATE) {
                        value = EngineUtil.exeEngine(map, (ConnectionInfo)null, flag, x, true);
                        x = (String)value;
                    }
                } catch (Exception var41) {
                    var41.printStackTrace();
                    throw new SQLException(var41);
                } finally {
                    hashMap.put("x", x);
                }
            }

            return hashMap;
        } else {
            computeParameterIndex = parameterIndex - 1;
            if (sqlType == SQLType.UPDATE) {
                for(int i = 0; i < columnList.size(); ++i) {
                    Column column1 = (Column)columnList.get(i);
                    if (column1.getValue() != null && column1.getValue().equals("?")) {
                        Map<String, Object> whereMap = new HashMap();
                        whereMap.put("column", schema + "." + column1.getColumnName());
                        whereMap.put("columnValue", "?");
                        whereMap.put("type", "Equality");
                        whereList.add(i, whereMap);
                    }
                }

                computeParameterIndex = parameterIndex - 1 - ids.size();
            }

            if (whereList != null && !whereList.isEmpty()) {
                Iterator<Map<String, Object>> iterator = whereList.iterator();

                label608:
                while(true) {
                    Map whereMap;
                    do {
                        do {
                            if (!iterator.hasNext()) {
                                if (whereList != null && !whereList.isEmpty()) {
                                    if (computeParameterIndex >= whereList.size()) {
                                        whereMap = (Map)whereList.get(whereList.size() - 1);
                                    } else {
                                        whereMap = (Map)whereList.get(computeParameterIndex);
                                    }

                                    String key = (String)whereMap.get("column");
                                    columnName = key.contains(".") ? key.split("\\.")[2].replace("\"", "") : key.replace("\"", "");
                                    tableName = key.contains(".") ? key.split("\\.")[1] : tableName;
                                    schema = key.contains(".") ? key.split("\\.")[0] : schema;
                                    String mathKey = (ip + "_" + port + "_" + schema + "_" + tableName + "_" + columnName).toLowerCase().replace("`", "").replace("\"", "");
                                    if (EngineUtil.encryptionMap.isEmpty()) {
                                        EngineUtil.keyCacheFromFile();
                                    }

                                    if ("1".equals(EncryptionGatewayManager.getParameterValue("replaceSql")) && replaceInfo != null) {
                                        String replaceColumn = ip + "_" + port + "_" + replaceInfo.getPrefix() + "_" + replaceInfo.getColumnName();
                                        if (mathKey.equals(replaceColumn)) {
                                            hashMap.put("tableAndColumnName", (tableName + "@@" + columnName).toLowerCase());
                                            hashMap.put("x", x);
                                            hashMap.put("mathKey", mathKey);
                                            return hashMap;
                                        }
                                    }

                                    RuleLoadUtil.writeLog("@@插件@@---PreparedstatementWrapper参数加密22时获取的mathKey：-->" + mathKey);
                                    ismaksing = EngineUtil.encryptionMap.containsKey(mathKey);
                                    if (ismaksing) {
                                        Boolean flag = false;
                                        Columninfo map = (Columninfo)EngineUtil.encryptionMap.get(mathKey);
                                        map.setColumnname((tableName + "@@" + columnName).toLowerCase());
                                        map.setId(mathKey);
                                        String type = (String)whereMap.get("type");
                                        if (!type.toUpperCase().equals("LIKE")) {
                                            sqlIndexKeyMap.put(sql + "_" + parameterIndex, map);
                                        }

                                        if (x != null && !"".equals(x)) {
                                            try {
                                                value = x;
                                                if (type.toUpperCase().equals("LIKE")) {
                                                    String likeValue = ((String)value).trim();
                                                    boolean beforeLike = false;
                                                    boolean afterLike = false;
                                                    if (!likeValue.equals("%%")) {
                                                        if (likeValue.startsWith("%")) {
                                                            likeValue = likeValue.substring(1);
                                                            beforeLike = true;
                                                        }

                                                        if (likeValue.endsWith("%")) {
                                                            likeValue = likeValue.substring(0, likeValue.length() - 1);
                                                            afterLike = true;
                                                        }

                                                        RuleLoadUtil.writeLog("@@插件@@---PreparedstatementWrapper参数like原值：-->" + likeValue);
                                                        value = EngineUtil.exeEngine(map, (ConnectionInfo)null, flag, likeValue, true);
                                                        RuleLoadUtil.writeLog("@@插件@@---PreparedstatementWrapper参数like加密后值：-->" + value);
                                                        if (afterLike) {
                                                            value = value.toString().replace(ENCRYPT_SEPARATOR, "");
                                                        }

                                                        if (ENCRYPT_LIKE_OPEN.equals(map.getIsLike())) {
                                                            if (beforeLike) {
                                                                value = "%" + value;
                                                            }

                                                            if (afterLike) {
                                                                value = value + "%";
                                                            }
                                                        }
                                                    }
                                                } else {
                                                    RuleLoadUtil.writeLog("@@插件@@---PreparedstatementWrapper参数22原值：-->" + value);
                                                    value = EngineUtil.exeEngine(map, (ConnectionInfo)null, flag, value, true);
                                                    RuleLoadUtil.writeLog("@@插件@@---PreparedstatementWrapper参数22加密后的值：-->" + value);
                                                }

                                                x = (String)value;
                                                encFlag = true;
                                            } catch (Exception var43) {
                                                Exception e1 = var43;
                                                e1.printStackTrace();
                                                throw new SQLException(e1);
                                            } finally {
                                                hashMap.put("tableAndColumnName", (tableName + "@@" + columnName).toLowerCase());
                                                hashMap.put("x", x);
                                                hashMap.put("mathKey", mathKey);
                                                return hashMap;
                                            }
                                        }
                                    } else {
                                        Columninfo columninfo = new Columninfo();
                                        columninfo.setColumnname((tableName + "@@" + columnName).toLowerCase());
                                        columninfo.setId(mathKey);
                                        sqlIndexKeyMap.put(sql + "_" + parameterIndex, columninfo);
                                    }

                                    hashMap.put("tableAndColumnName", (tableName + "@@" + columnName).toLowerCase());
                                    hashMap.put("x", x);
                                    hashMap.put("mathKey", mathKey);
                                    return hashMap;
                                }

                                hashMap.put("tableAndColumnName", "");
                                hashMap.put("x", x);
                                hashMap.put("mathKey", "");
                                return hashMap;
                            }

                            whereMap = (Map)iterator.next();
                        } while(whereMap.get("columnValue") instanceof String && whereMap.get("columnValue").equals("?"));
                    } while(whereMap.get("columnValue") instanceof SQLVariantRefExpr && ((SQLVariantRefExpr)whereMap.get("columnValue")).getName().equals("?"));

                    iterator.remove();
                }
            } else {
                hashMap.put("tableAndColumnName", "");
                hashMap.put("x", x);
                hashMap.put("mathKey", "");
                return hashMap;
            }
        }
    }

    public static void main(String[] args) {
        String key = "\t{\n\t\t\"datasystemid\": \"ff808081920fb5af0192101fe06c0005\",\n\t\t\"dbip\": \"10.130.136.63\",\n\t\t\"dbport\": \"1521\",\n\t\t\"dbservername\": \"orcl\",\n\t\t\"schema\": \"VENUS\",\n\t\t\"tableInfo\": [\n\t\t\t{\n\t\t\t\t\"columninfo\": [\n\t\t\t\t\t{\n\t\t\t\t\t\t\"columnType\": \"VARCHAR2\",\n\t\t\t\t\t\t\"columnname\": \"DESCRIPTION\",\n\t\t\t\t\t\t\"encdigit\": \"0\",\n\t\t\t\t\t\t\"encryptiontype\": \"SM4_ECB\",\n\t\t\t\t\t\t\"id\": \"ff808081920fb5af019210feca3a0030\",\n\t\t\t\t\t\t\"isLike\": \"0\",\n\t\t\t\t\t\t\"keepfirst\": \"0\",\n\t\t\t\t\t\t\"secretkey\": \"B892513BA980BDC35C5DCE5F60B278D6\",\n\t\t\t\t\t\t\"twoindex\": \"0\"\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"columnType\": \"VARCHAR2\",\n\t\t\t\t\t\t\"columnname\": \"EMAIL\",\n\t\t\t\t\t\t\"encdigit\": \"0\",\n\t\t\t\t\t\t\"encryptiontype\": \"SM4_ECB\",\n\t\t\t\t\t\t\"id\": \"ff808081920fb5af019210feca7c0031\",\n\t\t\t\t\t\t\"isLike\": \"0\",\n\t\t\t\t\t\t\"keepfirst\": \"0\",\n\t\t\t\t\t\t\"secretkey\": \"B892513BA980BDC35C5DCE5F60B278D6\",\n\t\t\t\t\t\t\"twoindex\": \"0\"\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"columnType\": \"VARCHAR2\",\n\t\t\t\t\t\t\"columnname\": \"IMGPATH\",\n\t\t\t\t\t\t\"encdigit\": \"0\",\n\t\t\t\t\t\t\"encryptiontype\": \"SM4_ECB\",\n\t\t\t\t\t\t\"id\": \"ff808081920fb5af019210fecb090033\",\n\t\t\t\t\t\t\"isLike\": \"0\",\n\t\t\t\t\t\t\"keepfirst\": \"0\",\n\t\t\t\t\t\t\"secretkey\": \"B892513BA980BDC35C5DCE5F60B278D6\",\n\t\t\t\t\t\t\"twoindex\": \"0\"\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"columnType\": \"VARCHAR2\",\n\t\t\t\t\t\t\"columnname\": \"IP\",\n\t\t\t\t\t\t\"encdigit\": \"0\",\n\t\t\t\t\t\t\"encryptiontype\": \"SM4_ECB\",\n\t\t\t\t\t\t\"id\": \"ff808081920fb5af019210fecb560034\",\n\t\t\t\t\t\t\"isLike\": \"0\",\n\t\t\t\t\t\t\"keepfirst\": \"0\",\n\t\t\t\t\t\t\"secretkey\": \"B892513BA980BDC35C5DCE5F60B278D6\",\n\t\t\t\t\t\t\"twoindex\": \"0\"\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"columnType\": \"VARCHAR2\",\n\t\t\t\t\t\t\"columnname\": \"IS5G\",\n\t\t\t\t\t\t\"encdigit\": \"0\",\n\t\t\t\t\t\t\"encryptiontype\": \"SM4_ECB\",\n\t\t\t\t\t\t\"id\": \"ff808081920fb5af019210fecba10035\",\n\t\t\t\t\t\t\"isLike\": \"0\",\n\t\t\t\t\t\t\"keepfirst\": \"0\",\n\t\t\t\t\t\t\"secretkey\": \"B892513BA980BDC35C5DCE5F60B278D6\",\n\t\t\t\t\t\t\"twoindex\": \"0\"\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"columnType\": \"VARCHAR2\",\n\t\t\t\t\t\t\"columnname\": \"ISSHARE\",\n\t\t\t\t\t\t\"encdigit\": \"0\",\n\t\t\t\t\t\t\"encryptiontype\": \"SM4_ECB\",\n\t\t\t\t\t\t\"id\": \"ff808081920fb5af019210fecbe80036\",\n\t\t\t\t\t\t\"isLike\": \"0\",\n\t\t\t\t\t\t\"keepfirst\": \"0\",\n\t\t\t\t\t\t\"secretkey\": \"B892513BA980BDC35C5DCE5F60B278D6\",\n\t\t\t\t\t\t\"twoindex\": \"0\"\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"columnType\": \"VARCHAR2\",\n\t\t\t\t\t\t\"columnname\": \"LOGIN_AUTH_MODE\",\n\t\t\t\t\t\t\"encdigit\": \"0\",\n\t\t\t\t\t\t\"encryptiontype\": \"SM4_ECB\",\n\t\t\t\t\t\t\"id\": \"ff808081920fb5af019210fecc2e0037\",\n\t\t\t\t\t\t\"isLike\": \"0\",\n\t\t\t\t\t\t\"keepfirst\": \"0\",\n\t\t\t\t\t\t\"secretkey\": \"B892513BA980BDC35C5DCE5F60B278D6\",\n\t\t\t\t\t\t\"twoindex\": \"0\"\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"columnType\": \"VARCHAR2\",\n\t\t\t\t\t\t\"columnname\": \"MASTERID\",\n\t\t\t\t\t\t\"encdigit\": \"0\",\n\t\t\t\t\t\t\"encryptiontype\": \"SM4_ECB\",\n\t\t\t\t\t\t\"id\": \"ff808081920fb5af019210fecc7b0038\",\n\t\t\t\t\t\t\"isLike\": \"0\",\n\t\t\t\t\t\t\"keepfirst\": \"0\",\n\t\t\t\t\t\t\"secretkey\": \"B892513BA980BDC35C5DCE5F60B278D6\",\n\t\t\t\t\t\t\"twoindex\": \"0\"\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"columnType\": \"VARCHAR2\",\n\t\t\t\t\t\t\"columnname\": \"MASTERNAME\",\n\t\t\t\t\t\t\"encdigit\": \"0\",\n\t\t\t\t\t\t\"encryptiontype\": \"SM4_ECB\",\n\t\t\t\t\t\t\"id\": \"ff808081920fb5af019210feccbb0039\",\n\t\t\t\t\t\t\"isLike\": \"0\",\n\t\t\t\t\t\t\"keepfirst\": \"0\",\n\t\t\t\t\t\t\"secretkey\": \"B892513BA980BDC35C5DCE5F60B278D6\",\n\t\t\t\t\t\t\"twoindex\": \"0\"\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"columnType\": \"VARCHAR2\",\n\t\t\t\t\t\t\"columnname\": \"MASTERREALNAME\",\n\t\t\t\t\t\t\"encdigit\": \"0\",\n\t\t\t\t\t\t\"encryptiontype\": \"SM4_ECB\",\n\t\t\t\t\t\t\"id\": \"ff808081920fb5af019210feccfa003a\",\n\t\t\t\t\t\t\"isLike\": \"0\",\n\t\t\t\t\t\t\"keepfirst\": \"0\",\n\t\t\t\t\t\t\"secretkey\": \"B892513BA980BDC35C5DCE5F60B278D6\",\n\t\t\t\t\t\t\"twoindex\": \"0\"\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"columnType\": \"VARCHAR2\",\n\t\t\t\t\t\t\"columnname\": \"NAME\",\n\t\t\t\t\t\t\"encdigit\": \"0\",\n\t\t\t\t\t\t\"encryptiontype\": \"SM4_ECB\",\n\t\t\t\t\t\t\"id\": \"ff808081920fb5af019210fecd33003b\",\n\t\t\t\t\t\t\"isLike\": \"0\",\n\t\t\t\t\t\t\"keepfirst\": \"0\",\n\t\t\t\t\t\t\"secretkey\": \"B892513BA980BDC35C5DCE5F60B278D6\",\n\t\t\t\t\t\t\"twoindex\": \"0\"\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"columnType\": \"VARCHAR2\",\n\t\t\t\t\t\t\"columnname\": \"NFV_TYPE\",\n\t\t\t\t\t\t\"encdigit\": \"0\",\n\t\t\t\t\t\t\"encryptiontype\": \"SM4_ECB\",\n\t\t\t\t\t\t\"id\": \"ff808081920fb5af019210fecd76003c\",\n\t\t\t\t\t\t\"isLike\": \"0\",\n\t\t\t\t\t\t\"keepfirst\": \"0\",\n\t\t\t\t\t\t\"secretkey\": \"B892513BA980BDC35C5DCE5F60B278D6\",\n\t\t\t\t\t\t\"twoindex\": \"0\"\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"columnType\": \"VARCHAR2\",\n\t\t\t\t\t\t\"columnname\": \"OPERSTEL\",\n\t\t\t\t\t\t\"encdigit\": \"0\",\n\t\t\t\t\t\t\"encryptiontype\": \"SM4_ECB\",\n\t\t\t\t\t\t\"id\": \"ff808081920fb5af019210fecdc5003d\",\n\t\t\t\t\t\t\"isLike\": \"0\",\n\t\t\t\t\t\t\"keepfirst\": \"0\",\n\t\t\t\t\t\t\"secretkey\": \"B892513BA980BDC35C5DCE5F60B278D6\",\n\t\t\t\t\t\t\"twoindex\": \"0\"\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"columnType\": \"VARCHAR2\",\n\t\t\t\t\t\t\"columnname\": \"PARAMETER\",\n\t\t\t\t\t\t\"encdigit\": \"0\",\n\t\t\t\t\t\t\"encryptiontype\": \"SM4_ECB\",\n\t\t\t\t\t\t\"id\": \"ff808081920fb5af019210fece02003e\",\n\t\t\t\t\t\t\"isLike\": \"0\",\n\t\t\t\t\t\t\"keepfirst\": \"0\",\n\t\t\t\t\t\t\"secretkey\": \"B892513BA980BDC35C5DCE5F60B278D6\",\n\t\t\t\t\t\t\"twoindex\": \"0\"\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"columnType\": \"VARCHAR2\",\n\t\t\t\t\t\t\"columnname\": \"PHYLOCA\",\n\t\t\t\t\t\t\"encdigit\": \"0\",\n\t\t\t\t\t\t\"encryptiontype\": \"SM4_ECB\",\n\t\t\t\t\t\t\"id\": \"ff808081920fb5af019210fece47003f\",\n\t\t\t\t\t\t\"isLike\": \"0\",\n\t\t\t\t\t\t\"keepfirst\": \"0\",\n\t\t\t\t\t\t\"secretkey\": \"B892513BA980BDC35C5DCE5F60B278D6\",\n\t\t\t\t\t\t\"twoindex\": \"0\"\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"columnType\": \"VARCHAR2\",\n\t\t\t\t\t\t\"columnname\": \"PORT\",\n\t\t\t\t\t\t\"encdigit\": \"0\",\n\t\t\t\t\t\t\"encryptiontype\": \"SM4_ECB\",\n\t\t\t\t\t\t\"id\": \"ff808081920fb5af019210fece840040\",\n\t\t\t\t\t\t\"isLike\": \"0\",\n\t\t\t\t\t\t\"keepfirst\": \"0\",\n\t\t\t\t\t\t\"secretkey\": \"B892513BA980BDC35C5DCE5F60B278D6\",\n\t\t\t\t\t\t\"twoindex\": \"0\"\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"columnType\": \"VARCHAR2\",\n\t\t\t\t\t\t\"columnname\": \"PROTOCOL\",\n\t\t\t\t\t\t\"encdigit\": \"0\",\n\t\t\t\t\t\t\"encryptiontype\": \"SM4_ECB\",\n\t\t\t\t\t\t\"id\": \"ff808081920fb5af019210fecec20041\",\n\t\t\t\t\t\t\"isLike\": \"0\",\n\t\t\t\t\t\t\"keepfirst\": \"0\",\n\t\t\t\t\t\t\"secretkey\": \"B892513BA980BDC35C5DCE5F60B278D6\",\n\t\t\t\t\t\t\"twoindex\": \"0\"\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"columnType\": \"VARCHAR2\",\n\t\t\t\t\t\t\"columnname\": \"RESMODE\",\n\t\t\t\t\t\t\"encdigit\": \"0\",\n\t\t\t\t\t\t\"encryptiontype\": \"SM4_ECB\",\n\t\t\t\t\t\t\"id\": \"ff808081920fb5af019210fecefc0042\",\n\t\t\t\t\t\t\"isLike\": \"0\",\n\t\t\t\t\t\t\"keepfirst\": \"0\",\n\t\t\t\t\t\t\"secretkey\": \"B892513BA980BDC35C5DCE5F60B278D6\",\n\t\t\t\t\t\t\"twoindex\": \"0\"\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"columnType\": \"VARCHAR2\",\n\t\t\t\t\t\t\"columnname\": \"SUPPORTTYPE\",\n\t\t\t\t\t\t\"encdigit\": \"0\",\n\t\t\t\t\t\t\"encryptiontype\": \"SM4_ECB\",\n\t\t\t\t\t\t\"id\": \"ff808081920fb5af019210fecf410043\",\n\t\t\t\t\t\t\"isLike\": \"0\",\n\t\t\t\t\t\t\"keepfirst\": \"0\",\n\t\t\t\t\t\t\"secretkey\": \"B892513BA980BDC35C5DCE5F60B278D6\",\n\t\t\t\t\t\t\"twoindex\": \"0\"\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"columnType\": \"VARCHAR2\",\n\t\t\t\t\t\t\"columnname\": \"SYNSTATUS\",\n\t\t\t\t\t\t\"encdigit\": \"0\",\n\t\t\t\t\t\t\"encryptiontype\": \"SM4_ECB\",\n\t\t\t\t\t\t\"id\": \"ff808081920fb5af019210fecf870044\",\n\t\t\t\t\t\t\"isLike\": \"0\",\n\t\t\t\t\t\t\"keepfirst\": \"0\",\n\t\t\t\t\t\t\"secretkey\": \"B892513BA980BDC35C5DCE5F60B278D6\",\n\t\t\t\t\t\t\"twoindex\": \"0\"\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"columnType\": \"VARCHAR2\",\n\t\t\t\t\t\t\"columnname\": \"TYPE\",\n\t\t\t\t\t\t\"encdigit\": \"0\",\n\t\t\t\t\t\t\"encryptiontype\": \"SM4_ECB\",\n\t\t\t\t\t\t\"id\": \"ff808081920fb5af019210fecfc20045\",\n\t\t\t\t\t\t\"isLike\": \"0\",\n\t\t\t\t\t\t\"keepfirst\": \"0\",\n\t\t\t\t\t\t\"secretkey\": \"B892513BA980BDC35C5DCE5F60B278D6\",\n\t\t\t\t\t\t\"twoindex\": \"0\"\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"columnType\": \"VARCHAR2\",\n\t\t\t\t\t\t\"columnname\": \"URL\",\n\t\t\t\t\t\t\"encdigit\": \"0\",\n\t\t\t\t\t\t\"encryptiontype\": \"SM4_ECB\",\n\t\t\t\t\t\t\"id\": \"ff808081920fb5af019210fed0000046\",\n\t\t\t\t\t\t\"isLike\": \"0\",\n\t\t\t\t\t\t\"keepfirst\": \"0\",\n\t\t\t\t\t\t\"secretkey\": \"B892513BA980BDC35C5DCE5F60B278D6\",\n\t\t\t\t\t\t\"twoindex\": \"0\"\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"columnType\": \"VARCHAR2\",\n\t\t\t\t\t\t\"columnname\": \"URL_IPV6\",\n\t\t\t\t\t\t\"encdigit\": \"0\",\n\t\t\t\t\t\t\"encryptiontype\": \"SM4_ECB\",\n\t\t\t\t\t\t\"id\": \"ff808081920fb5af019210fed0440047\",\n\t\t\t\t\t\t\"isLike\": \"0\",\n\t\t\t\t\t\t\"keepfirst\": \"0\",\n\t\t\t\t\t\t\"secretkey\": \"B892513BA980BDC35C5DCE5F60B278D6\",\n\t\t\t\t\t\t\"twoindex\": \"0\"\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"columnType\": \"VARCHAR2\",\n\t\t\t\t\t\t\"columnname\": \"VERSION\",\n\t\t\t\t\t\t\"encdigit\": \"0\",\n\t\t\t\t\t\t\"encryptiontype\": \"SM4_ECB\",\n\t\t\t\t\t\t\"id\": \"ff808081920fb5af019210fed07e0048\",\n\t\t\t\t\t\t\"isLike\": \"0\",\n\t\t\t\t\t\t\"keepfirst\": \"0\",\n\t\t\t\t\t\t\"secretkey\": \"B892513BA980BDC35C5DCE5F60B278D6\",\n\t\t\t\t\t\t\"twoindex\": \"0\"\n\t\t\t\t\t}\n\t\t\t\t],\n\t\t\t\t\"tablename\": \"VENUS_AUTH_APP_RES\"\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"columninfo\": [\n\t\t\t\t\t{\n\t\t\t\t\t\t\"columnType\": \"VARCHAR2\",\n\t\t\t\t\t\t\"columnname\": \"USERNAME\",\n\t\t\t\t\t\t\"encdigit\": \"0\",\n\t\t\t\t\t\t\"encryptiontype\": \"SM4_ECB\",\n\t\t\t\t\t\t\"id\": \"ff808081922429a90192295877a2003e\",\n\t\t\t\t\t\t\"isLike\": \"0\",\n\t\t\t\t\t\t\"keepfirst\": \"0\",\n\t\t\t\t\t\t\"secretkey\": \"B892513BA980BDC35C5DCE5F60B278D6\",\n\t\t\t\t\t\t\"twoindex\": \"0\"\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"columnType\": \"VARCHAR2\",\n\t\t\t\t\t\t\"columnname\": \"USERREALNAME\",\n\t\t\t\t\t\t\"encdigit\": \"0\",\n\t\t\t\t\t\t\"encryptiontype\": \"SM4_ECB\",\n\t\t\t\t\t\t\"id\": \"ff808081922429a9019229590dd60040\",\n\t\t\t\t\t\t\"isLike\": \"0\",\n\t\t\t\t\t\t\"keepfirst\": \"0\",\n\t\t\t\t\t\t\"secretkey\": \"B892513BA980BDC35C5DCE5F60B278D6\",\n\t\t\t\t\t\t\"twoindex\": \"0\"\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"columnType\": \"VARCHAR2\",\n\t\t\t\t\t\t\"columnname\": \"ORGPATH\",\n\t\t\t\t\t\t\"encdigit\": \"0\",\n\t\t\t\t\t\t\"encryptiontype\": \"SM4_ECB\",\n\t\t\t\t\t\t\"id\": \"ff808081922429a9019229596a630043\",\n\t\t\t\t\t\t\"isLike\": \"0\",\n\t\t\t\t\t\t\"keepfirst\": \"0\",\n\t\t\t\t\t\t\"secretkey\": \"B892513BA980BDC35C5DCE5F60B278D6\",\n\t\t\t\t\t\t\"twoindex\": \"0\"\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"columnType\": \"VARCHAR2\",\n\t\t\t\t\t\t\"columnname\": \"LOGINIP\",\n\t\t\t\t\t\t\"encdigit\": \"0\",\n\t\t\t\t\t\t\"encryptiontype\": \"SM4_ECB\",\n\t\t\t\t\t\t\"id\": \"ff808081922429a901922959be370045\",\n\t\t\t\t\t\t\"isLike\": \"0\",\n\t\t\t\t\t\t\"keepfirst\": \"0\",\n\t\t\t\t\t\t\"secretkey\": \"B892513BA980BDC35C5DCE5F60B278D6\",\n\t\t\t\t\t\t\"twoindex\": \"0\"\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"columnType\": \"VARCHAR2\",\n\t\t\t\t\t\t\"columnname\": \"MAC\",\n\t\t\t\t\t\t\"encdigit\": \"0\",\n\t\t\t\t\t\t\"encryptiontype\": \"SM4_ECB\",\n\t\t\t\t\t\t\"id\": \"ff808081922429a90192295a23450047\",\n\t\t\t\t\t\t\"isLike\": \"0\",\n\t\t\t\t\t\t\"keepfirst\": \"0\",\n\t\t\t\t\t\t\"secretkey\": \"B892513BA980BDC35C5DCE5F60B278D6\",\n\t\t\t\t\t\t\"twoindex\": \"0\"\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"columnType\": \"VARCHAR2\",\n\t\t\t\t\t\t\"columnname\": \"OPERATIONOBJ\",\n\t\t\t\t\t\t\"encdigit\": \"0\",\n\t\t\t\t\t\t\"encryptiontype\": \"SM4_ECB\",\n\t\t\t\t\t\t\"id\": \"ff808081922429a90192295a9ce8004a\",\n\t\t\t\t\t\t\"isLike\": \"0\",\n\t\t\t\t\t\t\"keepfirst\": \"0\",\n\t\t\t\t\t\t\"secretkey\": \"B892513BA980BDC35C5DCE5F60B278D6\",\n\t\t\t\t\t\t\"twoindex\": \"0\"\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"columnType\": \"VARCHAR2\",\n\t\t\t\t\t\t\"columnname\": \"RESOURCENAME\",\n\t\t\t\t\t\t\"encdigit\": \"0\",\n\t\t\t\t\t\t\"encryptiontype\": \"SM4_ECB\",\n\t\t\t\t\t\t\"id\": \"ff808081922429a90192295b05f2004c\",\n\t\t\t\t\t\t\"isLike\": \"0\",\n\t\t\t\t\t\t\"keepfirst\": \"0\",\n\t\t\t\t\t\t\"secretkey\": \"B892513BA980BDC35C5DCE5F60B278D6\",\n\t\t\t\t\t\t\"twoindex\": \"0\"\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"columnType\": \"VARCHAR2\",\n\t\t\t\t\t\t\"columnname\": \"SERVERIP\",\n\t\t\t\t\t\t\"encdigit\": \"0\",\n\t\t\t\t\t\t\"encryptiontype\": \"SM4_ECB\",\n\t\t\t\t\t\t\"id\": \"ff808081922429a90192295b8ff1004f\",\n\t\t\t\t\t\t\"isLike\": \"0\",\n\t\t\t\t\t\t\"keepfirst\": \"0\",\n\t\t\t\t\t\t\"secretkey\": \"B892513BA980BDC35C5DCE5F60B278D6\",\n\t\t\t\t\t\t\"twoindex\": \"0\"\n\t\t\t\t\t}\n\t\t\t\t],\n\t\t\t\t\"tablename\": \"VENUS_LOG_RESOURCE_LOGIN\"\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"columninfo\": [\n\t\t\t\t\t{\n\t\t\t\t\t\t\"columnType\": \"VARCHAR2\",\n\t\t\t\t\t\t\"columnname\": \"DB_ROLE\",\n\t\t\t\t\t\t\"encdigit\": \"0\",\n\t\t\t\t\t\t\"encryptiontype\": \"SM4_ECB\",\n\t\t\t\t\t\t\"id\": \"ff808081922429a901922432be97000b\",\n\t\t\t\t\t\t\"isLike\": \"0\",\n\t\t\t\t\t\t\"keepfirst\": \"0\",\n\t\t\t\t\t\t\"secretkey\": \"B892513BA980BDC35C5DCE5F60B278D6\",\n\t\t\t\t\t\t\"twoindex\": \"0\"\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"columnType\": \"VARCHAR2\",\n\t\t\t\t\t\t\"columnname\": \"DEPARTMENT\",\n\t\t\t\t\t\t\"encdigit\": \"0\",\n\t\t\t\t\t\t\"encryptiontype\": \"SM4_ECB\",\n\t\t\t\t\t\t\"id\": \"ff808081922429a901922432bede000c\",\n\t\t\t\t\t\t\"isLike\": \"0\",\n\t\t\t\t\t\t\"keepfirst\": \"0\",\n\t\t\t\t\t\t\"secretkey\": \"B892513BA980BDC35C5DCE5F60B278D6\",\n\t\t\t\t\t\t\"twoindex\": \"0\"\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"columnType\": \"VARCHAR2\",\n\t\t\t\t\t\t\"columnname\": \"DESCRIBE\",\n\t\t\t\t\t\t\"encdigit\": \"0\",\n\t\t\t\t\t\t\"encryptiontype\": \"SM4_ECB\",\n\t\t\t\t\t\t\"id\": \"ff808081922429a901922432bf22000d\",\n\t\t\t\t\t\t\"isLike\": \"0\",\n\t\t\t\t\t\t\"keepfirst\": \"0\",\n\t\t\t\t\t\t\"secretkey\": \"B892513BA980BDC35C5DCE5F60B278D6\",\n\t\t\t\t\t\t\"twoindex\": \"0\"\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"columnType\": \"VARCHAR2\",\n\t\t\t\t\t\t\"columnname\": \"EXPIRYTIME\",\n\t\t\t\t\t\t\"encdigit\": \"0\",\n\t\t\t\t\t\t\"encryptiontype\": \"SM4_ECB\",\n\t\t\t\t\t\t\"id\": \"ff808081922429a901922432bf6e000e\",\n\t\t\t\t\t\t\"isLike\": \"0\",\n\t\t\t\t\t\t\"keepfirst\": \"0\",\n\t\t\t\t\t\t\"secretkey\": \"B892513BA980BDC35C5DCE5F60B278D6\",\n\t\t\t\t\t\t\"twoindex\": \"0\"\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"columnType\": \"VARCHAR2\",\n\t\t\t\t\t\t\"columnname\": \"MODIFYBY\",\n\t\t\t\t\t\t\"encdigit\": \"0\",\n\t\t\t\t\t\t\"encryptiontype\": \"SM4_ECB\",\n\t\t\t\t\t\t\"id\": \"ff808081922429a901922432bfae000f\",\n\t\t\t\t\t\t\"isLike\": \"0\",\n\t\t\t\t\t\t\"keepfirst\": \"0\",\n\t\t\t\t\t\t\"secretkey\": \"B892513BA980BDC35C5DCE5F60B278D6\",\n\t\t\t\t\t\t\"twoindex\": \"0\"\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"columnType\": \"VARCHAR2\",\n\t\t\t\t\t\t\"columnname\": \"NAME\",\n\t\t\t\t\t\t\"encdigit\": \"0\",\n\t\t\t\t\t\t\"encryptiontype\": \"SM4_ECB\",\n\t\t\t\t\t\t\"id\": \"ff808081922429a901922432bfea0010\",\n\t\t\t\t\t\t\"isLike\": \"0\",\n\t\t\t\t\t\t\"keepfirst\": \"0\",\n\t\t\t\t\t\t\"secretkey\": \"B892513BA980BDC35C5DCE5F60B278D6\",\n\t\t\t\t\t\t\"twoindex\": \"0\"\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"columnType\": \"VARCHAR2\",\n\t\t\t\t\t\t\"columnname\": \"NFVROLEID\",\n\t\t\t\t\t\t\"encdigit\": \"0\",\n\t\t\t\t\t\t\"encryptiontype\": \"SM4_ECB\",\n\t\t\t\t\t\t\"id\": \"ff808081922429a901922432c0380011\",\n\t\t\t\t\t\t\"isLike\": \"0\",\n\t\t\t\t\t\t\"keepfirst\": \"0\",\n\t\t\t\t\t\t\"secretkey\": \"B892513BA980BDC35C5DCE5F60B278D6\",\n\t\t\t\t\t\t\"twoindex\": \"0\"\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"columnType\": \"VARCHAR2\",\n\t\t\t\t\t\t\"columnname\": \"NFVSYNSTATUS\",\n\t\t\t\t\t\t\"encdigit\": \"0\",\n\t\t\t\t\t\t\"encryptiontype\": \"SM4_ECB\",\n\t\t\t\t\t\t\"id\": \"ff808081922429a901922432c07e0012\",\n\t\t\t\t\t\t\"isLike\": \"0\",\n\t\t\t\t\t\t\"keepfirst\": \"0\",\n\t\t\t\t\t\t\"secretkey\": \"B892513BA980BDC35C5DCE5F60B278D6\",\n\t\t\t\t\t\t\"twoindex\": \"0\"\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"columnType\": \"VARCHAR2\",\n\t\t\t\t\t\t\"columnname\": \"PWD\",\n\t\t\t\t\t\t\"encdigit\": \"0\",\n\t\t\t\t\t\t\"encryptiontype\": \"SM4_ECB\",\n\t\t\t\t\t\t\"id\": \"ff808081922429a901922432c0ba0013\",\n\t\t\t\t\t\t\"isLike\": \"0\",\n\t\t\t\t\t\t\"keepfirst\": \"0\",\n\t\t\t\t\t\t\"secretkey\": \"B892513BA980BDC35C5DCE5F60B278D6\",\n\t\t\t\t\t\t\"twoindex\": \"0\"\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"columnType\": \"VARCHAR2\",\n\t\t\t\t\t\t\"columnname\": \"RESERVE1\",\n\t\t\t\t\t\t\"encdigit\": \"0\",\n\t\t\t\t\t\t\"encryptiontype\": \"SM4_ECB\",\n\t\t\t\t\t\t\"id\": \"ff808081922429a901922432c0f70014\",\n\t\t\t\t\t\t\"isLike\": \"0\",\n\t\t\t\t\t\t\"keepfirst\": \"0\",\n\t\t\t\t\t\t\"secretkey\": \"B892513BA980BDC35C5DCE5F60B278D6\",\n\t\t\t\t\t\t\"twoindex\": \"0\"\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"columnType\": \"VARCHAR2\",\n\t\t\t\t\t\t\"columnname\": \"RESERVE2\",\n\t\t\t\t\t\t\"encdigit\": \"0\",\n\t\t\t\t\t\t\"encryptiontype\": \"SM4_ECB\",\n\t\t\t\t\t\t\"id\": \"ff808081922429a901922432c1360015\",\n\t\t\t\t\t\t\"isLike\": \"0\",\n\t\t\t\t\t\t\"keepfirst\": \"0\",\n\t\t\t\t\t\t\"secretkey\": \"B892513BA980BDC35C5DCE5F60B278D6\",\n\t\t\t\t\t\t\"twoindex\": \"0\"\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"columnType\": \"VARCHAR2\",\n\t\t\t\t\t\t\"columnname\": \"RESERVE3\",\n\t\t\t\t\t\t\"encdigit\": \"0\",\n\t\t\t\t\t\t\"encryptiontype\": \"SM4_ECB\",\n\t\t\t\t\t\t\"id\": \"ff808081922429a901922432c1770016\",\n\t\t\t\t\t\t\"isLike\": \"0\",\n\t\t\t\t\t\t\"keepfirst\": \"0\",\n\t\t\t\t\t\t\"secretkey\": \"B892513BA980BDC35C5DCE5F60B278D6\",\n\t\t\t\t\t\t\"twoindex\": \"0\"\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"columnType\": \"VARCHAR2\",\n\t\t\t\t\t\t\"columnname\": \"RESERVE4\",\n\t\t\t\t\t\t\"encdigit\": \"0\",\n\t\t\t\t\t\t\"encryptiontype\": \"SM4_ECB\",\n\t\t\t\t\t\t\"id\": \"ff808081922429a901922432c1bc0017\",\n\t\t\t\t\t\t\"isLike\": \"0\",\n\t\t\t\t\t\t\"keepfirst\": \"0\",\n\t\t\t\t\t\t\"secretkey\": \"B892513BA980BDC35C5DCE5F60B278D6\",\n\t\t\t\t\t\t\"twoindex\": \"0\"\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"columnType\": \"VARCHAR2\",\n\t\t\t\t\t\t\"columnname\": \"WORKNUMBER\",\n\t\t\t\t\t\t\"encdigit\": \"0\",\n\t\t\t\t\t\t\"encryptiontype\": \"SM4_ECB\",\n\t\t\t\t\t\t\"id\": \"ff808081922429a901922432c2150018\",\n\t\t\t\t\t\t\"isLike\": \"0\",\n\t\t\t\t\t\t\"keepfirst\": \"0\",\n\t\t\t\t\t\t\"secretkey\": \"B892513BA980BDC35C5DCE5F60B278D6\",\n\t\t\t\t\t\t\"twoindex\": \"0\"\n\t\t\t\t\t}\n\t\t\t\t],\n\t\t\t\t\"tablename\": \"VENUS_ACC_SLAVE\"\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"columninfo\": [\n\t\t\t\t\t{\n\t\t\t\t\t\t\"columnType\": \"VARCHAR2\",\n\t\t\t\t\t\t\"columnname\": \"CHECKRESULT\",\n\t\t\t\t\t\t\"encdigit\": \"0\",\n\t\t\t\t\t\t\"encryptiontype\": \"SM4_ECB\",\n\t\t\t\t\t\t\"id\": \"ff808081920fb5af0192113d0b4e00ba\",\n\t\t\t\t\t\t\"isLike\": \"0\",\n\t\t\t\t\t\t\"keepfirst\": \"0\",\n\t\t\t\t\t\t\"secretkey\": \"B892513BA980BDC35C5DCE5F60B278D6\",\n\t\t\t\t\t\t\"twoindex\": \"0\"\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"columnType\": \"VARCHAR2\",\n\t\t\t\t\t\t\"columnname\": \"CLASSIFICATIONRES\",\n\t\t\t\t\t\t\"encdigit\": \"0\",\n\t\t\t\t\t\t\"encryptiontype\": \"SM4_ECB\",\n\t\t\t\t\t\t\"id\": \"ff808081920fb5af0192113d0b9d00bb\",\n\t\t\t\t\t\t\"isLike\": \"0\",\n\t\t\t\t\t\t\"keepfirst\": \"0\",\n\t\t\t\t\t\t\"secretkey\": \"B892513BA980BDC35C5DCE5F60B278D6\",\n\t\t\t\t\t\t\"twoindex\": \"0\"\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"columnType\": \"VARCHAR2\",\n\t\t\t\t\t\t\"columnname\": \"DB_CONAS\",\n\t\t\t\t\t\t\"encdigit\": \"0\",\n\t\t\t\t\t\t\"encryptiontype\": \"SM4_ECB\",\n\t\t\t\t\t\t\"id\": \"ff808081920fb5af0192113d0be100bc\",\n\t\t\t\t\t\t\"isLike\": \"0\",\n\t\t\t\t\t\t\"keepfirst\": \"0\",\n\t\t\t\t\t\t\"secretkey\": \"B892513BA980BDC35C5DCE5F60B278D6\",\n\t\t\t\t\t\t\"twoindex\": \"0\"\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"columnType\": \"VARCHAR2\",\n\t\t\t\t\t\t\"columnname\": \"DB_LOCALSID\",\n\t\t\t\t\t\t\"encdigit\": \"0\",\n\t\t\t\t\t\t\"encryptiontype\": \"SM4_ECB\",\n\t\t\t\t\t\t\"id\": \"ff808081920fb5af0192113d0c2400bd\",\n\t\t\t\t\t\t\"isLike\": \"0\",\n\t\t\t\t\t\t\"keepfirst\": \"0\",\n\t\t\t\t\t\t\"secretkey\": \"B892513BA980BDC35C5DCE5F60B278D6\",\n\t\t\t\t\t\t\"twoindex\": \"0\"\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"columnType\": \"VARCHAR2\",\n\t\t\t\t\t\t\"columnname\": \"DB_PASSWORD\",\n\t\t\t\t\t\t\"encdigit\": \"0\",\n\t\t\t\t\t\t\"encryptiontype\": \"SM4_ECB\",\n\t\t\t\t\t\t\"id\": \"ff808081920fb5af0192113d0c6b00be\",\n\t\t\t\t\t\t\"isLike\": \"0\",\n\t\t\t\t\t\t\"keepfirst\": \"0\",\n\t\t\t\t\t\t\"secretkey\": \"B892513BA980BDC35C5DCE5F60B278D6\",\n\t\t\t\t\t\t\"twoindex\": \"0\"\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"columnType\": \"VARCHAR2\",\n\t\t\t\t\t\t\"columnname\": \"DB_PORT\",\n\t\t\t\t\t\t\"encdigit\": \"0\",\n\t\t\t\t\t\t\"encryptiontype\": \"SM4_ECB\",\n\t\t\t\t\t\t\"id\": \"ff808081920fb5af0192113d0caf00bf\",\n\t\t\t\t\t\t\"isLike\": \"0\",\n\t\t\t\t\t\t\"keepfirst\": \"0\",\n\t\t\t\t\t\t\"secretkey\": \"B892513BA980BDC35C5DCE5F60B278D6\",\n\t\t\t\t\t\t\"twoindex\": \"0\"\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"columnType\": \"VARCHAR2\",\n\t\t\t\t\t\t\"columnname\": \"DB_PROFILE\",\n\t\t\t\t\t\t\"encdigit\": \"0\",\n\t\t\t\t\t\t\"encryptiontype\": \"SM4_ECB\",\n\t\t\t\t\t\t\"id\": \"ff808081920fb5af0192113d0cf000c0\",\n\t\t\t\t\t\t\"isLike\": \"0\",\n\t\t\t\t\t\t\"keepfirst\": \"0\",\n\t\t\t\t\t\t\"secretkey\": \"B892513BA980BDC35C5DCE5F60B278D6\",\n\t\t\t\t\t\t\"twoindex\": \"0\"\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"columnType\": \"VARCHAR2\",\n\t\t\t\t\t\t\"columnname\": \"DB_SERVERNAME\",\n\t\t\t\t\t\t\"encdigit\": \"0\",\n\t\t\t\t\t\t\"encryptiontype\": \"SM4_ECB\",\n\t\t\t\t\t\t\"id\": \"ff808081920fb5af0192113d0d3f00c1\",\n\t\t\t\t\t\t\"isLike\": \"0\",\n\t\t\t\t\t\t\"keepfirst\": \"0\",\n\t\t\t\t\t\t\"secretkey\": \"B892513BA980BDC35C5DCE5F60B278D6\",\n\t\t\t\t\t\t\"twoindex\": \"0\"\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"columnType\": \"VARCHAR2\",\n\t\t\t\t\t\t\"columnname\": \"DB_SID\",\n\t\t\t\t\t\t\"encdigit\": \"0\",\n\t\t\t\t\t\t\"encryptiontype\": \"SM4_ECB\",\n\t\t\t\t\t\t\"id\": \"ff808081920fb5af0192113d0d7e00c2\",\n\t\t\t\t\t\t\"isLike\": \"0\",\n\t\t\t\t\t\t\"keepfirst\": \"0\",\n\t\t\t\t\t\t\"secretkey\": \"B892513BA980BDC35C5DCE5F60B278D6\",\n\t\t\t\t\t\t\"twoindex\": \"0\"\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"columnType\": \"VARCHAR2\",\n\t\t\t\t\t\t\"columnname\": \"DB_TYPE\",\n\t\t\t\t\t\t\"encdigit\": \"0\",\n\t\t\t\t\t\t\"encryptiontype\": \"SM4_ECB\",\n\t\t\t\t\t\t\"id\": \"ff808081920fb5af0192113d0dbd00c3\",\n\t\t\t\t\t\t\"isLike\": \"0\",\n\t\t\t\t\t\t\"keepfirst\": \"0\",\n\t\t\t\t\t\t\"secretkey\": \"B892513BA980BDC35C5DCE5F60B278D6\",\n\t\t\t\t\t\t\"twoindex\": \"0\"\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"columnType\": \"VARCHAR2\",\n\t\t\t\t\t\t\"columnname\": \"DB_USER\",\n\t\t\t\t\t\t\"encdigit\": \"0\",\n\t\t\t\t\t\t\"encryptiontype\": \"SM4_ECB\",\n\t\t\t\t\t\t\"id\": \"ff808081920fb5af0192113d0dfe00c4\",\n\t\t\t\t\t\t\"isLike\": \"0\",\n\t\t\t\t\t\t\"keepfirst\": \"0\",\n\t\t\t\t\t\t\"secretkey\": \"B892513BA980BDC35C5DCE5F60B278D6\",\n\t\t\t\t\t\t\"twoindex\": \"0\"\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"columnType\": \"VARCHAR2\",\n\t\t\t\t\t\t\"columnname\": \"DB_VERSION\",\n\t\t\t\t\t\t\"encdigit\": \"0\",\n\t\t\t\t\t\t\"encryptiontype\": \"SM4_ECB\",\n\t\t\t\t\t\t\"id\": \"ff808081920fb5af0192113d0e3d00c5\",\n\t\t\t\t\t\t\"isLike\": \"0\",\n\t\t\t\t\t\t\"keepfirst\": \"0\",\n\t\t\t\t\t\t\"secretkey\": \"B892513BA980BDC35C5DCE5F60B278D6\",\n\t\t\t\t\t\t\"twoindex\": \"0\"\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"columnType\": \"VARCHAR2\",\n\t\t\t\t\t\t\"columnname\": \"DESCRIPTION\",\n\t\t\t\t\t\t\"encdigit\": \"0\",\n\t\t\t\t\t\t\"encryptiontype\": \"SM4_ECB\",\n\t\t\t\t\t\t\"id\": \"ff808081920fb5af0192113d0e7b00c6\",\n\t\t\t\t\t\t\"isLike\": \"0\",\n\t\t\t\t\t\t\"keepfirst\": \"0\",\n\t\t\t\t\t\t\"secretkey\": \"B892513BA980BDC35C5DCE5F60B278D6\",\n\t\t\t\t\t\t\"twoindex\": \"0\"\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"columnType\": \"VARCHAR2\",\n\t\t\t\t\t\t\"columnname\": \"FORTIP\",\n\t\t\t\t\t\t\"encdigit\": \"0\",\n\t\t\t\t\t\t\"encryptiontype\": \"SM4_ECB\",\n\t\t\t\t\t\t\"id\": \"ff808081920fb5af0192113d0f0000c8\",\n\t\t\t\t\t\t\"isLike\": \"0\",\n\t\t\t\t\t\t\"keepfirst\": \"0\",\n\t\t\t\t\t\t\"secretkey\": \"B892513BA980BDC35C5DCE5F60B278D6\",\n\t\t\t\t\t\t\"twoindex\": \"0\"\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"columnType\": \"VARCHAR2\",\n\t\t\t\t\t\t\"columnname\": \"HOSTPASSWORD\",\n\t\t\t\t\t\t\"encdigit\": \"0\",\n\t\t\t\t\t\t\"encryptiontype\": \"SM4_ECB\",\n\t\t\t\t\t\t\"id\": \"ff808081920fb5af0192113d0f4500c9\",\n\t\t\t\t\t\t\"isLike\": \"0\",\n\t\t\t\t\t\t\"keepfirst\": \"0\",\n\t\t\t\t\t\t\"secretkey\": \"B892513BA980BDC35C5DCE5F60B278D6\",\n\t\t\t\t\t\t\"twoindex\": \"0\"\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"columnType\": \"VARCHAR2\",\n\t\t\t\t\t\t\"columnname\": \"HOSTNAME\",\n\t\t\t\t\t\t\"encdigit\": \"0\",\n\t\t\t\t\t\t\"encryptiontype\": \"SM4_ECB\",\n\t\t\t\t\t\t\"id\": \"ff808081920fb5af0192113d0f8d00ca\",\n\t\t\t\t\t\t\"isLike\": \"0\",\n\t\t\t\t\t\t\"keepfirst\": \"0\",\n\t\t\t\t\t\t\"secretkey\": \"B892513BA980BDC35C5DCE5F60B278D6\",\n\t\t\t\t\t\t\"twoindex\": \"0\"\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"columnType\": \"VARCHAR2\",\n\t\t\t\t\t\t\"columnname\": \"HOSTSHORTNAME\",\n\t\t\t\t\t\t\"encdigit\": \"0\",\n\t\t\t\t\t\t\"encryptiontype\": \"SM4_ECB\",\n\t\t\t\t\t\t\"id\": \"ff808081920fb5af0192113d0fd900cb\",\n\t\t\t\t\t\t\"isLike\": \"0\",\n\t\t\t\t\t\t\"keepfirst\": \"0\",\n\t\t\t\t\t\t\"secretkey\": \"B892513BA980BDC35C5DCE5F60B278D6\",\n\t\t\t\t\t\t\"twoindex\": \"0\"\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"columnType\": \"VARCHAR2\",\n\t\t\t\t\t\t\"columnname\": \"HOSTUSER\",\n\t\t\t\t\t\t\"encdigit\": \"0\",\n\t\t\t\t\t\t\"encryptiontype\": \"SM4_ECB\",\n\t\t\t\t\t\t\"id\": \"ff808081920fb5af0192113d101a00cc\",\n\t\t\t\t\t\t\"isLike\": \"0\",\n\t\t\t\t\t\t\"keepfirst\": \"0\",\n\t\t\t\t\t\t\"secretkey\": \"B892513BA980BDC35C5DCE5F60B278D6\",\n\t\t\t\t\t\t\"twoindex\": \"0\"\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"columnType\": \"VARCHAR2\",\n\t\t\t\t\t\t\"columnname\": \"IMGPATH\",\n\t\t\t\t\t\t\"encdigit\": \"0\",\n\t\t\t\t\t\t\"encryptiontype\": \"SM4_ECB\",\n\t\t\t\t\t\t\"id\": \"ff808081920fb5af0192113d105a00cd\",\n\t\t\t\t\t\t\"isLike\": \"0\",\n\t\t\t\t\t\t\"keepfirst\": \"0\",\n\t\t\t\t\t\t\"secretkey\": \"B892513BA980BDC35C5DCE5F60B278D6\",\n\t\t\t\t\t\t\"twoindex\": \"0\"\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"columnType\": \"VARCHAR2\",\n\t\t\t\t\t\t\"columnname\": \"IP\",\n\t\t\t\t\t\t\"encdigit\": \"0\",\n\t\t\t\t\t\t\"encryptiontype\": \"SM4_ECB\",\n\t\t\t\t\t\t\"id\": \"ff808081920fb5af0192113d109500ce\",\n\t\t\t\t\t\t\"isLike\": \"0\",\n\t\t\t\t\t\t\"keepfirst\": \"0\",\n\t\t\t\t\t\t\"secretkey\": \"B892513BA980BDC35C5DCE5F60B278D6\",\n\t\t\t\t\t\t\"twoindex\": \"0\"\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"columnType\": \"VARCHAR2\",\n\t\t\t\t\t\t\"columnname\": \"IPV6\",\n\t\t\t\t\t\t\"encdigit\": \"0\",\n\t\t\t\t\t\t\"encryptiontype\": \"SM4_ECB\",\n\t\t\t\t\t\t\"id\": \"ff808081920fb5af0192113d10e300cf\",\n\t\t\t\t\t\t\"isLike\": \"0\",\n\t\t\t\t\t\t\"keepfirst\": \"0\",\n\t\t\t\t\t\t\"secretkey\": \"B892513BA980BDC35C5DCE5F60B278D6\",\n\t\t\t\t\t\t\"twoindex\": \"0\"\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"columnType\": \"VARCHAR2\",\n\t\t\t\t\t\t\"columnname\": \"IS5G\",\n\t\t\t\t\t\t\"encdigit\": \"0\",\n\t\t\t\t\t\t\"encryptiontype\": \"SM4_ECB\",\n\t\t\t\t\t\t\"id\": \"ff808081920fb5af0192113d113100d0\",\n\t\t\t\t\t\t\"isLike\": \"0\",\n\t\t\t\t\t\t\"keepfirst\": \"0\",\n\t\t\t\t\t\t\"secretkey\": \"B892513BA980BDC35C5DCE5F60B278D6\",\n\t\t\t\t\t\t\"twoindex\": \"0\"\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"columnType\": \"VARCHAR2\",\n\t\t\t\t\t\t\"columnname\": \"ISSHARE\",\n\t\t\t\t\t\t\"encdigit\": \"0\",\n\t\t\t\t\t\t\"encryptiontype\": \"SM4_ECB\",\n\t\t\t\t\t\t\"id\": \"ff808081920fb5af0192113d117f00d1\",\n\t\t\t\t\t\t\"isLike\": \"0\",\n\t\t\t\t\t\t\"keepfirst\": \"0\",\n\t\t\t\t\t\t\"secretkey\": \"B892513BA980BDC35C5DCE5F60B278D6\",\n\t\t\t\t\t\t\"twoindex\": \"0\"\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"columnType\": \"VARCHAR2\",\n\t\t\t\t\t\t\"columnname\": \"MASTERID\",\n\t\t\t\t\t\t\"encdigit\": \"0\",\n\t\t\t\t\t\t\"encryptiontype\": \"SM4_ECB\",\n\t\t\t\t\t\t\"id\": \"ff808081920fb5af0192113d11bf00d2\",\n\t\t\t\t\t\t\"isLike\": \"0\",\n\t\t\t\t\t\t\"keepfirst\": \"0\",\n\t\t\t\t\t\t\"secretkey\": \"B892513BA980BDC35C5DCE5F60B278D6\",\n\t\t\t\t\t\t\"twoindex\": \"0\"\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"columnType\": \"VARCHAR2\",\n\t\t\t\t\t\t\"columnname\": \"MASTERREALNAME\",\n\t\t\t\t\t\t\"encdigit\": \"0\",\n\t\t\t\t\t\t\"encryptiontype\": \"SM4_ECB\",\n\t\t\t\t\t\t\"id\": \"ff808081920fb5af0192113d123900d4\",\n\t\t\t\t\t\t\"isLike\": \"0\",\n\t\t\t\t\t\t\"keepfirst\": \"0\",\n\t\t\t\t\t\t\"secretkey\": \"B892513BA980BDC35C5DCE5F60B278D6\",\n\t\t\t\t\t\t\"twoindex\": \"0\"\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"columnType\": \"VARCHAR2\",\n\t\t\t\t\t\t\"columnname\": \"MIDDLESERVICEIP\",\n\t\t\t\t\t\t\"encdigit\": \"0\",\n\t\t\t\t\t\t\"encryptiontype\": \"SM4_ECB\",\n\t\t\t\t\t\t\"id\": \"ff808081920fb5af0192113d128500d5\",\n\t\t\t\t\t\t\"isLike\": \"0\",\n\t\t\t\t\t\t\"keepfirst\": \"0\",\n\t\t\t\t\t\t\"secretkey\": \"B892513BA980BDC35C5DCE5F60B278D6\",\n\t\t\t\t\t\t\"twoindex\": \"0\"\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"columnType\": \"VARCHAR2\",\n\t\t\t\t\t\t\"columnname\": \"MODEL\",\n\t\t\t\t\t\t\"encdigit\": \"0\",\n\t\t\t\t\t\t\"encryptiontype\": \"SM4_ECB\",\n\t\t\t\t\t\t\"id\": \"ff808081920fb5af0192113d12d200d6\",\n\t\t\t\t\t\t\"isLike\": \"0\",\n\t\t\t\t\t\t\"keepfirst\": \"0\",\n\t\t\t\t\t\t\"secretkey\": \"B892513BA980BDC35C5DCE5F60B278D6\",\n\t\t\t\t\t\t\"twoindex\": \"0\"\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"columnType\": \"VARCHAR2\",\n\t\t\t\t\t\t\"columnname\": \"NAME\",\n\t\t\t\t\t\t\"encdigit\": \"0\",\n\t\t\t\t\t\t\"encryptiontype\": \"SM4_ECB\",\n\t\t\t\t\t\t\"id\": \"ff808081920fb5af0192113d130d00d7\",\n\t\t\t\t\t\t\"isLike\": \"0\",\n\t\t\t\t\t\t\"keepfirst\": \"0\",\n\t\t\t\t\t\t\"secretkey\": \"B892513BA980BDC35C5DCE5F60B278D6\",\n\t\t\t\t\t\t\"twoindex\": \"0\"\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"columnType\": \"VARCHAR2\",\n\t\t\t\t\t\t\"columnname\": \"NOTSUPSYSLOGDESC\",\n\t\t\t\t\t\t\"encdigit\": \"0\",\n\t\t\t\t\t\t\"encryptiontype\": \"SM4_ECB\",\n\t\t\t\t\t\t\"id\": \"ff808081920fb5af0192113d135800d8\",\n\t\t\t\t\t\t\"isLike\": \"0\",\n\t\t\t\t\t\t\"keepfirst\": \"0\",\n\t\t\t\t\t\t\"secretkey\": \"B892513BA980BDC35C5DCE5F60B278D6\",\n\t\t\t\t\t\t\"twoindex\": \"0\"\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"columnType\": \"VARCHAR2\",\n\t\t\t\t\t\t\"columnname\": \"PATH\",\n\t\t\t\t\t\t\"encdigit\": \"0\",\n\t\t\t\t\t\t\"encryptiontype\": \"SM4_ECB\",\n\t\t\t\t\t\t\"id\": \"ff808081920fb5af0192113d13aa00d9\",\n\t\t\t\t\t\t\"isLike\": \"0\",\n\t\t\t\t\t\t\"keepfirst\": \"0\",\n\t\t\t\t\t\t\"secretkey\": \"B892513BA980BDC35C5DCE5F60B278D6\",\n\t\t\t\t\t\t\"twoindex\": \"0\"\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"columnType\": \"VARCHAR2\",\n\t\t\t\t\t\t\"columnname\": \"PHYLOCA\",\n\t\t\t\t\t\t\"encdigit\": \"0\",\n\t\t\t\t\t\t\"encryptiontype\": \"SM4_ECB\",\n\t\t\t\t\t\t\"id\": \"ff808081920fb5af0192113d13e700da\",\n\t\t\t\t\t\t\"isLike\": \"0\",\n\t\t\t\t\t\t\"keepfirst\": \"0\",\n\t\t\t\t\t\t\"secretkey\": \"B892513BA980BDC35C5DCE5F60B278D6\",\n\t\t\t\t\t\t\"twoindex\": \"0\"\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"columnType\": \"VARCHAR2\",\n\t\t\t\t\t\t\"columnname\": \"PORT\",\n\t\t\t\t\t\t\"encdigit\": \"0\",\n\t\t\t\t\t\t\"encryptiontype\": \"SM4_ECB\",\n\t\t\t\t\t\t\"id\": \"ff808081920fb5af0192113d142500db\",\n\t\t\t\t\t\t\"isLike\": \"0\",\n\t\t\t\t\t\t\"keepfirst\": \"0\",\n\t\t\t\t\t\t\"secretkey\": \"B892513BA980BDC35C5DCE5F60B278D6\",\n\t\t\t\t\t\t\"twoindex\": \"0\"\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"columnType\": \"VARCHAR2\",\n\t\t\t\t\t\t\"columnname\": \"PRIPWDESCROW\",\n\t\t\t\t\t\t\"encdigit\": \"0\",\n\t\t\t\t\t\t\"encryptiontype\": \"SM4_ECB\",\n\t\t\t\t\t\t\"id\": \"ff808081920fb5af0192113d147300dc\",\n\t\t\t\t\t\t\"isLike\": \"0\",\n\t\t\t\t\t\t\"keepfirst\": \"0\",\n\t\t\t\t\t\t\"secretkey\": \"B892513BA980BDC35C5DCE5F60B278D6\",\n\t\t\t\t\t\t\"twoindex\": \"0\"\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"columnType\": \"VARCHAR2\",\n\t\t\t\t\t\t\"columnname\": \"RANDOM\",\n\t\t\t\t\t\t\"encdigit\": \"0\",\n\t\t\t\t\t\t\"encryptiontype\": \"SM4_ECB\",\n\t\t\t\t\t\t\"id\": \"ff808081920fb5af0192113d14f600de\",\n\t\t\t\t\t\t\"isLike\": \"0\",\n\t\t\t\t\t\t\"keepfirst\": \"0\",\n\t\t\t\t\t\t\"secretkey\": \"B892513BA980BDC35C5DCE5F60B278D6\",\n\t\t\t\t\t\t\"twoindex\": \"0\"\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"columnType\": \"VARCHAR2\",\n\t\t\t\t\t\t\"columnname\": \"RANGEIP\",\n\t\t\t\t\t\t\"encdigit\": \"0\",\n\t\t\t\t\t\t\"encryptiontype\": \"SM4_ECB\",\n\t\t\t\t\t\t\"id\": \"ff808081920fb5af0192113d152f00df\",\n\t\t\t\t\t\t\"isLike\": \"0\",\n\t\t\t\t\t\t\"keepfirst\": \"0\",\n\t\t\t\t\t\t\"secretkey\": \"B892513BA980BDC35C5DCE5F60B278D6\",\n\t\t\t\t\t\t\"twoindex\": \"0\"\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"columnType\": \"VARCHAR2\",\n\t\t\t\t\t\t\"columnname\": \"RESMODE\",\n\t\t\t\t\t\t\"encdigit\": \"0\",\n\t\t\t\t\t\t\"encryptiontype\": \"SM4_ECB\",\n\t\t\t\t\t\t\"id\": \"ff808081920fb5af0192113d156a00e0\",\n\t\t\t\t\t\t\"isLike\": \"0\",\n\t\t\t\t\t\t\"keepfirst\": \"0\",\n\t\t\t\t\t\t\"secretkey\": \"B892513BA980BDC35C5DCE5F60B278D6\",\n\t\t\t\t\t\t\"twoindex\": \"0\"\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"columnType\": \"VARCHAR2\",\n\t\t\t\t\t\t\"columnname\": \"TYPE\",\n\t\t\t\t\t\t\"encdigit\": \"0\",\n\t\t\t\t\t\t\"encryptiontype\": \"SM4_ECB\",\n\t\t\t\t\t\t\"id\": \"ff808081920fb5af0192113d15a600e1\",\n\t\t\t\t\t\t\"isLike\": \"0\",\n\t\t\t\t\t\t\"keepfirst\": \"0\",\n\t\t\t\t\t\t\"secretkey\": \"B892513BA980BDC35C5DCE5F60B278D6\",\n\t\t\t\t\t\t\"twoindex\": \"0\"\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"columnType\": \"VARCHAR2\",\n\t\t\t\t\t\t\"columnname\": \"UNIX_ANAME\",\n\t\t\t\t\t\t\"encdigit\": \"0\",\n\t\t\t\t\t\t\"encryptiontype\": \"SM4_ECB\",\n\t\t\t\t\t\t\"id\": \"ff808081920fb5af0192113d15ea00e2\",\n\t\t\t\t\t\t\"isLike\": \"0\",\n\t\t\t\t\t\t\"keepfirst\": \"0\",\n\t\t\t\t\t\t\"secretkey\": \"B892513BA980BDC35C5DCE5F60B278D6\",\n\t\t\t\t\t\t\"twoindex\": \"0\"\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"columnType\": \"VARCHAR2\",\n\t\t\t\t\t\t\"columnname\": \"UNIX_APASSWORD\",\n\t\t\t\t\t\t\"encdigit\": \"0\",\n\t\t\t\t\t\t\"encryptiontype\": \"SM4_ECB\",\n\t\t\t\t\t\t\"id\": \"ff808081920fb5af0192113d162d00e3\",\n\t\t\t\t\t\t\"isLike\": \"0\",\n\t\t\t\t\t\t\"keepfirst\": \"0\",\n\t\t\t\t\t\t\"secretkey\": \"B892513BA980BDC35C5DCE5F60B278D6\",\n\t\t\t\t\t\t\"twoindex\": \"0\"\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"columnType\": \"VARCHAR2\",\n\t\t\t\t\t\t\"columnname\": \"UNIX_BNAME\",\n\t\t\t\t\t\t\"encdigit\": \"0\",\n\t\t\t\t\t\t\"encryptiontype\": \"SM4_ECB\",\n\t\t\t\t\t\t\"id\": \"ff808081920fb5af0192113d167200e4\",\n\t\t\t\t\t\t\"isLike\": \"0\",\n\t\t\t\t\t\t\"keepfirst\": \"0\",\n\t\t\t\t\t\t\"secretkey\": \"B892513BA980BDC35C5DCE5F60B278D6\",\n\t\t\t\t\t\t\"twoindex\": \"0\"\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"columnType\": \"VARCHAR2\",\n\t\t\t\t\t\t\"columnname\": \"UNIX_BPASSWORD\",\n\t\t\t\t\t\t\"encdigit\": \"0\",\n\t\t\t\t\t\t\"encryptiontype\": \"SM4_ECB\",\n\t\t\t\t\t\t\"id\": \"ff808081920fb5af0192113d16b800e5\",\n\t\t\t\t\t\t\"isLike\": \"0\",\n\t\t\t\t\t\t\"keepfirst\": \"0\",\n\t\t\t\t\t\t\"secretkey\": \"B892513BA980BDC35C5DCE5F60B278D6\",\n\t\t\t\t\t\t\"twoindex\": \"0\"\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"columnType\": \"VARCHAR2\",\n\t\t\t\t\t\t\"columnname\": \"UNIX_GROUP\",\n\t\t\t\t\t\t\"encdigit\": \"0\",\n\t\t\t\t\t\t\"encryptiontype\": \"SM4_ECB\",\n\t\t\t\t\t\t\"id\": \"ff808081920fb5af0192113d16fd00e6\",\n\t\t\t\t\t\t\"isLike\": \"0\",\n\t\t\t\t\t\t\"keepfirst\": \"0\",\n\t\t\t\t\t\t\"secretkey\": \"B892513BA980BDC35C5DCE5F60B278D6\",\n\t\t\t\t\t\t\"twoindex\": \"0\"\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"columnType\": \"VARCHAR2\",\n\t\t\t\t\t\t\"columnname\": \"UNIX_SYSTYPE\",\n\t\t\t\t\t\t\"encdigit\": \"0\",\n\t\t\t\t\t\t\"encryptiontype\": \"SM4_ECB\",\n\t\t\t\t\t\t\"id\": \"ff808081920fb5af0192113d174200e7\",\n\t\t\t\t\t\t\"isLike\": \"0\",\n\t\t\t\t\t\t\"keepfirst\": \"0\",\n\t\t\t\t\t\t\"secretkey\": \"B892513BA980BDC35C5DCE5F60B278D6\",\n\t\t\t\t\t\t\"twoindex\": \"0\"\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"columnType\": \"VARCHAR2\",\n\t\t\t\t\t\t\"columnname\": \"UNIX_SYSVERSION\",\n\t\t\t\t\t\t\"encdigit\": \"0\",\n\t\t\t\t\t\t\"encryptiontype\": \"SM4_ECB\",\n\t\t\t\t\t\t\"id\": \"ff808081920fb5af0192113d178400e8\",\n\t\t\t\t\t\t\"isLike\": \"0\",\n\t\t\t\t\t\t\"keepfirst\": \"0\",\n\t\t\t\t\t\t\"secretkey\": \"B892513BA980BDC35C5DCE5F60B278D6\",\n\t\t\t\t\t\t\"twoindex\": \"0\"\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"columnType\": \"VARCHAR2\",\n\t\t\t\t\t\t\"columnname\": \"UNIX_UID\",\n\t\t\t\t\t\t\"encdigit\": \"0\",\n\t\t\t\t\t\t\"encryptiontype\": \"SM4_ECB\",\n\t\t\t\t\t\t\"id\": \"ff808081920fb5af0192113d17cd00e9\",\n\t\t\t\t\t\t\"isLike\": \"0\",\n\t\t\t\t\t\t\"keepfirst\": \"0\",\n\t\t\t\t\t\t\"secretkey\": \"B892513BA980BDC35C5DCE5F60B278D6\",\n\t\t\t\t\t\t\"twoindex\": \"0\"\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"columnType\": \"VARCHAR2\",\n\t\t\t\t\t\t\"columnname\": \"VERSION\",\n\t\t\t\t\t\t\"encdigit\": \"0\",\n\t\t\t\t\t\t\"encryptiontype\": \"SM4_ECB\",\n\t\t\t\t\t\t\"id\": \"ff808081920fb5af0192113d184b00eb\",\n\t\t\t\t\t\t\"isLike\": \"0\",\n\t\t\t\t\t\t\"keepfirst\": \"0\",\n\t\t\t\t\t\t\"secretkey\": \"B892513BA980BDC35C5DCE5F60B278D6\",\n\t\t\t\t\t\t\"twoindex\": \"0\"\n\t\t\t\t\t}\n\t\t\t\t],\n\t\t\t\t\"tablename\": \"VENUS_AUTH_SYS_RES\"\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"columninfo\": [\n\t\t\t\t\t{\n\t\t\t\t\t\t\"columnType\": \"VARCHAR2\",\n\t\t\t\t\t\t\"columnname\": \"STATE\",\n\t\t\t\t\t\t\"encdigit\": \"0\",\n\t\t\t\t\t\t\"encryptiontype\": \"SM4_ECB\",\n\t\t\t\t\t\t\"id\": \"ff808081922429a90192242ea7130003\",\n\t\t\t\t\t\t\"isLike\": \"0\",\n\t\t\t\t\t\t\"keepfirst\": \"0\",\n\t\t\t\t\t\t\"secretkey\": \"B892513BA980BDC35C5DCE5F60B278D6\",\n\t\t\t\t\t\t\"twoindex\": \"0\"\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"columnType\": \"VARCHAR2\",\n\t\t\t\t\t\t\"columnname\": \"WORKNUMBER\",\n\t\t\t\t\t\t\"encdigit\": \"0\",\n\t\t\t\t\t\t\"encryptiontype\": \"SM4_ECB\",\n\t\t\t\t\t\t\"id\": \"ff808081922429a90192242ea7830004\",\n\t\t\t\t\t\t\"isLike\": \"0\",\n\t\t\t\t\t\t\"keepfirst\": \"0\",\n\t\t\t\t\t\t\"secretkey\": \"B892513BA980BDC35C5DCE5F60B278D6\",\n\t\t\t\t\t\t\"twoindex\": \"0\"\n\t\t\t\t\t}\n\t\t\t\t],\n\t\t\t\t\"tablename\": \"VENUS_AUTH_MASTERAUTH\"\n\t\t\t}\n\t\t]\n\t}\n";
        JsonRootBean jsonRootBean = (JsonRootBean)JSON.parseObject(key.toString(), JsonRootBean.class);
        System.out.println(jsonRootBean.toString());
    }
}

