This is an automated email from the ASF dual-hosted git repository.

zhangliang pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/shardingsphere.git


The following commit(s) were added to refs/heads/master by this push:
     new ccd678fe988 make assistEncryptorName work and effect (#18173)
ccd678fe988 is described below

commit ccd678fe988f2844932e225de379cabc1458f39c
Author: cheese8 <[email protected]>
AuthorDate: Wed Jun 8 23:50:07 2022 +0800

    make assistEncryptorName work and effect (#18173)
    
    * add AssistEncryptorName
    
    * Update LocalEncryptConfiguration.java
    
    * add assistEncryptorName for EncryptColumn
    
    * make assistEncryptorName work and effect
    
    * Update RC4EncryptAlgorithm.java
    
    * align to previous
    
    * Update EncryptRuleTest.java
    
    * Update query-with-cipher.yaml
---
 ...OnDuplicateKeyUpdateValueParameterRewriter.java |  6 +++---
 .../EncryptInsertValueParameterRewriter.java       | 14 ++++++------
 .../EncryptInsertValuesTokenGenerator.java         |  9 ++++----
 .../shardingsphere/encrypt/rule/EncryptRule.java   | 25 ++++++++++++++++------
 .../shardingsphere/encrypt/rule/EncryptTable.java  | 10 +++++++++
 .../encrypt/rule/EncryptRuleTest.java              |  8 +++----
 .../converter/EncryptRuleStatementConverter.java   |  2 +-
 .../JDBCQueryAssistedEncryptAlgorithmFixture.java  |  2 +-
 .../config/config-encrypt-query-with-cipher.yaml   |  3 ++-
 .../config/config-encrypt-query-with-plain.yaml    |  3 ++-
 ...ewriteQueryAssistedEncryptAlgorithmFixture.java |  2 +-
 .../scenario/encrypt/config/query-with-cipher.yaml | 14 ++++++------
 .../scenario/encrypt/config/query-with-plain.yaml  | 21 ++++++++++++------
 .../scenario/mix/config/query-with-cipher.yaml     |  9 +++++---
 .../scenario/mix/config/query-with-plain.yaml      |  6 ++++--
 15 files changed, 85 insertions(+), 49 deletions(-)

diff --git 
a/shardingsphere-features/shardingsphere-encrypt/shardingsphere-encrypt-core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/parameter/rewriter/EncryptInsertOnDuplicateKeyUpdateValueParameterRewriter.java
 
b/shardingsphere-features/shardingsphere-encrypt/shardingsphere-encrypt-core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/parameter/rewriter/EncryptInsertOnDuplicateKeyUpdateValueParameterRewriter.java
index 2fe6be47338..d84bd7089df 100644
--- 
a/shardingsphere-features/shardingsphere-encrypt/shardingsphere-encrypt-core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/parameter/rewriter/EncryptInsertOnDuplicateKeyUpdateValueParameterRewriter.java
+++ 
b/shardingsphere-features/shardingsphere-encrypt/shardingsphere-encrypt-core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/parameter/rewriter/EncryptInsertOnDuplicateKeyUpdateValueParameterRewriter.java
@@ -24,7 +24,6 @@ import 
org.apache.shardingsphere.encrypt.rewrite.aware.DatabaseNameAware;
 import org.apache.shardingsphere.encrypt.rule.EncryptRule;
 import org.apache.shardingsphere.encrypt.rule.aware.EncryptRuleAware;
 import org.apache.shardingsphere.encrypt.spi.EncryptAlgorithm;
-import org.apache.shardingsphere.encrypt.spi.QueryAssistedEncryptAlgorithm;
 import org.apache.shardingsphere.encrypt.spi.context.EncryptContext;
 import 
org.apache.shardingsphere.infra.binder.segment.insert.values.OnDuplicateUpdateContext;
 import org.apache.shardingsphere.infra.binder.statement.SQLStatementContext;
@@ -77,10 +76,11 @@ public final class 
EncryptInsertOnDuplicateKeyUpdateValueParameterRewriter imple
                 Object cipherColumnValue = 
encryptor.get().encrypt(plainColumnValue, encryptContext);
                 
groupedParameterBuilder.getGenericParameterBuilder().addReplacedParameters(columnIndex,
 cipherColumnValue);
                 Collection<Object> addedParameters = new LinkedList<>();
-                if (optional instanceof QueryAssistedEncryptAlgorithm) {
+                Optional<EncryptAlgorithm> assistedQueryEncryptor = 
encryptRule.findAssistedQueryEncryptor(tableName, encryptLogicColumnName);
+                if (assistedQueryEncryptor.isPresent()) {
                     Optional<String> assistedColumnName = 
encryptRule.findAssistedQueryColumn(tableName, encryptLogicColumnName);
                     
Preconditions.checkArgument(assistedColumnName.isPresent(), "Can not find 
assisted query Column Name");
-                    addedParameters.add(((QueryAssistedEncryptAlgorithm) 
optional).queryAssistedEncrypt(plainColumnValue, encryptContext));
+                    
addedParameters.add(assistedQueryEncryptor.get().encrypt(plainColumnValue, 
encryptContext));
                 }
                 if (encryptRule.findPlainColumn(tableName, 
encryptLogicColumnName).isPresent()) {
                     addedParameters.add(plainColumnValue);
diff --git 
a/shardingsphere-features/shardingsphere-encrypt/shardingsphere-encrypt-core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/parameter/rewriter/EncryptInsertValueParameterRewriter.java
 
b/shardingsphere-features/shardingsphere-encrypt/shardingsphere-encrypt-core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/parameter/rewriter/EncryptInsertValueParameterRewriter.java
index 9266f7c0e23..8a778787f16 100644
--- 
a/shardingsphere-features/shardingsphere-encrypt/shardingsphere-encrypt-core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/parameter/rewriter/EncryptInsertValueParameterRewriter.java
+++ 
b/shardingsphere-features/shardingsphere-encrypt/shardingsphere-encrypt-core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/parameter/rewriter/EncryptInsertValueParameterRewriter.java
@@ -24,7 +24,6 @@ import 
org.apache.shardingsphere.encrypt.rewrite.aware.DatabaseNameAware;
 import org.apache.shardingsphere.encrypt.rule.EncryptRule;
 import org.apache.shardingsphere.encrypt.rule.aware.EncryptRuleAware;
 import org.apache.shardingsphere.encrypt.spi.EncryptAlgorithm;
-import org.apache.shardingsphere.encrypt.spi.QueryAssistedEncryptAlgorithm;
 import org.apache.shardingsphere.encrypt.spi.context.EncryptContext;
 import org.apache.shardingsphere.infra.binder.statement.SQLStatementContext;
 import 
org.apache.shardingsphere.infra.binder.statement.dml.InsertStatementContext;
@@ -69,12 +68,13 @@ public final class EncryptInsertValueParameterRewriter 
implements ParameterRewri
         while (descendingColumnNames.hasNext()) {
             String columnName = descendingColumnNames.next();
             EncryptContext encryptContext = 
EncryptContextBuilder.build(databaseName, schemaName, tableName, columnName);
-            encryptRule.findEncryptor(tableName, 
columnName).ifPresent(optional -> encryptInsertValues((GroupedParameterBuilder) 
parameterBuilder, insertStatementContext, optional, encryptContext));
+            encryptRule.findEncryptor(tableName, 
columnName).ifPresent(optional -> encryptInsertValues((GroupedParameterBuilder) 
parameterBuilder, insertStatementContext, optional,
+                    encryptRule.findAssistedQueryEncryptor(tableName, 
columnName), encryptContext));
         }
     }
     
     private void encryptInsertValues(final GroupedParameterBuilder 
parameterBuilder, final InsertStatementContext insertStatementContext,
-                                     final EncryptAlgorithm<?, ?> 
encryptAlgorithm, final EncryptContext encryptContext) {
+                                     final EncryptAlgorithm<?, ?> 
encryptAlgorithm, final Optional<EncryptAlgorithm> assistEncryptAlgorithm, 
final EncryptContext encryptContext) {
         int columnIndex = getColumnIndex(parameterBuilder, 
insertStatementContext, encryptContext.getColumnName());
         int count = 0;
         for (List<Object> each : 
insertStatementContext.getGroupedParameters()) {
@@ -84,7 +84,7 @@ public final class EncryptInsertValueParameterRewriter 
implements ParameterRewri
                 ExpressionSegment expressionSegment = 
insertStatementContext.getInsertValueContexts().get(count).getValueExpressions().get(columnIndex);
                 if (expressionSegment instanceof 
ParameterMarkerExpressionSegment) {
                     encryptInsertValue(
-                            encryptAlgorithm, parameterIndex, 
insertStatementContext.getInsertValueContexts().get(count).getValue(columnIndex)
+                            encryptAlgorithm, assistEncryptAlgorithm, 
parameterIndex, 
insertStatementContext.getInsertValueContexts().get(count).getValue(columnIndex)
                                     .orElseThrow(() -> new 
ShardingSphereException("Not support for encrypt!")),
                             standardParameterBuilder, encryptContext);
                 }
@@ -105,14 +105,14 @@ public final class EncryptInsertValueParameterRewriter 
implements ParameterRewri
     }
     
     @SuppressWarnings({"rawtypes", "unchecked"})
-    private void encryptInsertValue(final EncryptAlgorithm encryptAlgorithm, 
final int parameterIndex,
+    private void encryptInsertValue(final EncryptAlgorithm encryptAlgorithm, 
final Optional<EncryptAlgorithm> assistEncryptor, final int parameterIndex,
                                     final Object originalValue, final 
StandardParameterBuilder parameterBuilder, final EncryptContext encryptContext) 
{
         parameterBuilder.addReplacedParameters(parameterIndex, 
encryptAlgorithm.encrypt(originalValue, encryptContext));
         Collection<Object> addedParameters = new LinkedList<>();
-        if (encryptAlgorithm instanceof QueryAssistedEncryptAlgorithm) {
+        if (assistEncryptor.isPresent()) {
             Optional<String> assistedColumnName = 
encryptRule.findAssistedQueryColumn(encryptContext.getTableName(), 
encryptContext.getColumnName());
             Preconditions.checkArgument(assistedColumnName.isPresent(), "Can 
not find assisted query Column Name");
-            addedParameters.add(((QueryAssistedEncryptAlgorithm) 
encryptAlgorithm).queryAssistedEncrypt(originalValue, encryptContext));
+            addedParameters.add(assistEncryptor.get().encrypt(originalValue, 
encryptContext));
         }
         if (encryptRule.findPlainColumn(encryptContext.getTableName(), 
encryptContext.getColumnName()).isPresent()) {
             addedParameters.add(originalValue);
diff --git 
a/shardingsphere-features/shardingsphere-encrypt/shardingsphere-encrypt-core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/EncryptInsertValuesTokenGenerator.java
 
b/shardingsphere-features/shardingsphere-encrypt/shardingsphere-encrypt-core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/EncryptInsertValuesTokenGenerator.java
index d4b4102160e..24a6f37bdda 100644
--- 
a/shardingsphere-features/shardingsphere-encrypt/shardingsphere-encrypt-core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/EncryptInsertValuesTokenGenerator.java
+++ 
b/shardingsphere-features/shardingsphere-encrypt/shardingsphere-encrypt-core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/EncryptInsertValuesTokenGenerator.java
@@ -24,7 +24,6 @@ import 
org.apache.shardingsphere.encrypt.rewrite.token.pojo.EncryptInsertValuesT
 import org.apache.shardingsphere.encrypt.rule.EncryptRule;
 import org.apache.shardingsphere.encrypt.rule.aware.EncryptRuleAware;
 import org.apache.shardingsphere.encrypt.spi.EncryptAlgorithm;
-import org.apache.shardingsphere.encrypt.spi.QueryAssistedEncryptAlgorithm;
 import org.apache.shardingsphere.encrypt.spi.context.EncryptContext;
 import 
org.apache.shardingsphere.infra.binder.segment.insert.values.InsertValueContext;
 import 
org.apache.shardingsphere.infra.binder.segment.insert.values.expression.DerivedLiteralExpressionSegment;
@@ -138,7 +137,9 @@ public final class EncryptInsertValuesTokenGenerator 
implements OptionalSQLToken
                 Object originalValue = 
insertValueContext.getValue(columnIndex).orElseThrow(() -> new 
ShardingSphereException("Not support for encrypt!"));
                 EncryptContext encryptContext = 
EncryptContextBuilder.build(databaseName, schemaName, tableName, columnName);
                 addPlainColumn(insertValueToken, columnIndex, encryptContext, 
insertValueContext, originalValue);
-                addAssistedQueryColumn(insertValueToken, encryptor.get(), 
columnIndex, encryptContext, insertValueContext, originalValue);
+                if (encryptRule.findAssistedQueryEncryptor(tableName, 
columnName).isPresent()) {
+                    addAssistedQueryColumn(insertValueToken, 
encryptRule.findAssistedQueryEncryptor(tableName, columnName).get(), 
columnIndex, encryptContext, insertValueContext, originalValue);
+                }
                 setCipherColumn(insertValueToken, encryptor.get(), 
columnIndex, encryptContext, 
insertValueContext.getValueExpressions().get(columnIndex), originalValue);
             }
         }
@@ -155,11 +156,11 @@ public final class EncryptInsertValuesTokenGenerator 
implements OptionalSQLToken
     }
     
     @SuppressWarnings({"unchecked", "rawtypes"})
-    private void addAssistedQueryColumn(final InsertValue insertValueToken, 
final EncryptAlgorithm<?, ?> encryptAlgorithm, final int columnIndex,
+    private void addAssistedQueryColumn(final InsertValue insertValueToken, 
final EncryptAlgorithm encryptAlgorithm, final int columnIndex,
                                         final EncryptContext encryptContext, 
final InsertValueContext insertValueContext, final Object originalValue) {
         if (encryptRule.findAssistedQueryColumn(encryptContext.getTableName(), 
encryptContext.getColumnName()).isPresent()) {
             DerivedSimpleExpressionSegment derivedExpressionSegment = 
isAddLiteralExpressionSegment(insertValueContext, columnIndex)
-                    ? new 
DerivedLiteralExpressionSegment(((QueryAssistedEncryptAlgorithm) 
encryptAlgorithm).queryAssistedEncrypt(originalValue, encryptContext))
+                    ? new 
DerivedLiteralExpressionSegment(encryptAlgorithm.encrypt(originalValue, 
encryptContext))
                     : new 
DerivedParameterMarkerExpressionSegment(getParameterIndexCount(insertValueToken));
             insertValueToken.getValues().add(columnIndex + 1, 
derivedExpressionSegment);
         }
diff --git 
a/shardingsphere-features/shardingsphere-encrypt/shardingsphere-encrypt-core/src/main/java/org/apache/shardingsphere/encrypt/rule/EncryptRule.java
 
b/shardingsphere-features/shardingsphere-encrypt/shardingsphere-encrypt-core/src/main/java/org/apache/shardingsphere/encrypt/rule/EncryptRule.java
index c679561e255..c87972f35f0 100644
--- 
a/shardingsphere-features/shardingsphere-encrypt/shardingsphere-encrypt-core/src/main/java/org/apache/shardingsphere/encrypt/rule/EncryptRule.java
+++ 
b/shardingsphere-features/shardingsphere-encrypt/shardingsphere-encrypt-core/src/main/java/org/apache/shardingsphere/encrypt/rule/EncryptRule.java
@@ -27,7 +27,6 @@ import 
org.apache.shardingsphere.encrypt.api.config.rule.EncryptTableRuleConfigu
 import org.apache.shardingsphere.encrypt.context.EncryptContextBuilder;
 import org.apache.shardingsphere.encrypt.factory.EncryptAlgorithmFactory;
 import org.apache.shardingsphere.encrypt.spi.EncryptAlgorithm;
-import org.apache.shardingsphere.encrypt.spi.QueryAssistedEncryptAlgorithm;
 import org.apache.shardingsphere.encrypt.spi.context.EncryptContext;
 import 
org.apache.shardingsphere.infra.metadata.database.schema.decorator.model.ShardingSphereSchema;
 import 
org.apache.shardingsphere.infra.rewrite.sql.token.generator.aware.SchemaMetaDataAware;
@@ -146,6 +145,19 @@ public final class EncryptRule implements SchemaRule, 
TableContainedRule {
         return tables.containsKey(lowerCaseLogicTable) ? 
tables.get(lowerCaseLogicTable).findEncryptorName(logicColumn).map(encryptors::get)
 : Optional.empty();
     }
     
+    /**
+     * Find assist encryptor.
+     *
+     * @param logicTable logic table name
+     * @param logicColumn logic column name
+     * @return encryptor
+     */
+    @SuppressWarnings("rawtypes")
+    public Optional<EncryptAlgorithm> findAssistedQueryEncryptor(final String 
logicTable, final String logicColumn) {
+        String lowerCaseLogicTable = logicTable.toLowerCase();
+        return tables.containsKey(lowerCaseLogicTable) ? 
tables.get(lowerCaseLogicTable).findAssistedQueryEncryptorName(logicColumn).map(encryptors::get)
 : Optional.empty();
+    }
+    
     /**
      * get encrypt values.
      *
@@ -230,18 +242,17 @@ public final class EncryptRule implements SchemaRule, 
TableContainedRule {
      */
     @SuppressWarnings("rawtypes")
     public List<Object> getEncryptAssistedQueryValues(final String 
databaseName, final String schemaName, final String logicTable, final String 
logicColumn, final List<Object> originalValues) {
-        Optional<EncryptAlgorithm> encryptor = findEncryptor(logicTable, 
logicColumn);
+        Optional<EncryptAlgorithm> encryptor = 
findAssistedQueryEncryptor(logicTable, logicColumn);
         EncryptContext encryptContext = 
EncryptContextBuilder.build(databaseName, schemaName, logicTable, logicColumn);
-        Preconditions.checkArgument(encryptor.isPresent() && encryptor.get() 
instanceof QueryAssistedEncryptAlgorithm,
-                "Can not find QueryAssistedEncryptAlgorithm by %s.%s.", 
logicTable, logicColumn);
-        return getEncryptAssistedQueryValues((QueryAssistedEncryptAlgorithm) 
encryptor.get(), originalValues, encryptContext);
+        Preconditions.checkArgument(encryptor.isPresent(), "Can not find 
assist encryptor by %s.%s.", logicTable, logicColumn);
+        return getEncryptAssistedQueryValues(encryptor.get(), originalValues, 
encryptContext);
     }
     
     @SuppressWarnings({"rawtypes", "unchecked"})
-    private List<Object> getEncryptAssistedQueryValues(final 
QueryAssistedEncryptAlgorithm encryptor, final List<Object> originalValues, 
final EncryptContext encryptContext) {
+    private List<Object> getEncryptAssistedQueryValues(final EncryptAlgorithm 
encryptor, final List<Object> originalValues, final EncryptContext 
encryptContext) {
         List<Object> result = new LinkedList<>();
         for (Object each : originalValues) {
-            result.add(null == each ? null : 
encryptor.queryAssistedEncrypt(each, encryptContext));
+            result.add(null == each ? null : encryptor.encrypt(each, 
encryptContext));
         }
         return result;
     }
diff --git 
a/shardingsphere-features/shardingsphere-encrypt/shardingsphere-encrypt-core/src/main/java/org/apache/shardingsphere/encrypt/rule/EncryptTable.java
 
b/shardingsphere-features/shardingsphere-encrypt/shardingsphere-encrypt-core/src/main/java/org/apache/shardingsphere/encrypt/rule/EncryptTable.java
index 97ec3f80f3a..07e7b352232 100644
--- 
a/shardingsphere-features/shardingsphere-encrypt/shardingsphere-encrypt-core/src/main/java/org/apache/shardingsphere/encrypt/rule/EncryptTable.java
+++ 
b/shardingsphere-features/shardingsphere-encrypt/shardingsphere-encrypt-core/src/main/java/org/apache/shardingsphere/encrypt/rule/EncryptTable.java
@@ -57,6 +57,16 @@ public final class EncryptTable {
         return columns.containsKey(logicColumn) ? 
Optional.of(columns.get(logicColumn).getEncryptorName()) : Optional.empty();
     }
     
+    /**
+     * Find assisted query encrypt algorithm name.
+     *
+     * @param logicColumn column name
+     * @return assist encrypt algorithm name
+     */
+    public Optional<String> findAssistedQueryEncryptorName(final String 
logicColumn) {
+        return columns.containsKey(logicColumn) ? 
Optional.ofNullable(columns.get(logicColumn).getAssistedQueryEncryptorName()) : 
Optional.empty();
+    }
+    
     /**
      * Get logic columns.
      *
diff --git 
a/shardingsphere-features/shardingsphere-encrypt/shardingsphere-encrypt-core/src/test/java/org/apache/shardingsphere/encrypt/rule/EncryptRuleTest.java
 
b/shardingsphere-features/shardingsphere-encrypt/shardingsphere-encrypt-core/src/test/java/org/apache/shardingsphere/encrypt/rule/EncryptRuleTest.java
index 9ff9ede8dd5..d478285ef3a 100644
--- 
a/shardingsphere-features/shardingsphere-encrypt/shardingsphere-encrypt-core/src/test/java/org/apache/shardingsphere/encrypt/rule/EncryptRuleTest.java
+++ 
b/shardingsphere-features/shardingsphere-encrypt/shardingsphere-encrypt-core/src/test/java/org/apache/shardingsphere/encrypt/rule/EncryptRuleTest.java
@@ -149,19 +149,19 @@ public final class EncryptRuleTest {
                 Collections.singleton(tableConfig), 
Collections.singletonMap("test_encryptor", new CoreEncryptAlgorithmFixture()), 
true);
         EncryptRule actual = new EncryptRule(ruleConfig);
         assertTrue(actual.isQueryWithCipherColumn("t_encrypt", 
"encrypt_column"));
-        
+    
         encryptColumnConfig = new 
EncryptColumnRuleConfiguration("encrypt_column", "encrypt_cipher", "", "", 
"test_encryptor", null);
         tableConfig = new EncryptTableRuleConfiguration("t_encrypt", 
Collections.singletonList(encryptColumnConfig), false);
         ruleConfig = new 
AlgorithmProvidedEncryptRuleConfiguration(Collections.singleton(tableConfig), 
Collections.singletonMap("test_encryptor", new CoreEncryptAlgorithmFixture()), 
true);
         actual = new EncryptRule(ruleConfig);
         assertFalse(actual.isQueryWithCipherColumn("t_encrypt", 
"encrypt_column"));
-        
+    
         encryptColumnConfig = new 
EncryptColumnRuleConfiguration("encrypt_column", "encrypt_cipher", "", "", 
"test_encryptor", true);
         tableConfig = new EncryptTableRuleConfiguration("t_encrypt", 
Collections.singletonList(encryptColumnConfig), false);
         ruleConfig = new 
AlgorithmProvidedEncryptRuleConfiguration(Collections.singleton(tableConfig), 
Collections.singletonMap("test_encryptor", new CoreEncryptAlgorithmFixture()), 
true);
         actual = new EncryptRule(ruleConfig);
         assertTrue(actual.isQueryWithCipherColumn("t_encrypt", 
"encrypt_column"));
-        
+    
         encryptColumnConfig = new 
EncryptColumnRuleConfiguration("encrypt_column", "encrypt_cipher", "", "", 
"test_encryptor", false);
         tableConfig = new EncryptTableRuleConfiguration("t_encrypt", 
Collections.singletonList(encryptColumnConfig), null);
         ruleConfig = new 
AlgorithmProvidedEncryptRuleConfiguration(Collections.singleton(tableConfig), 
Collections.singletonMap("test_encryptor", new CoreEncryptAlgorithmFixture()), 
true);
@@ -203,7 +203,7 @@ public final class EncryptRuleTest {
     private EncryptRuleConfiguration createEncryptRuleConfiguration() {
         ShardingSphereAlgorithmConfiguration queryAssistedEncryptConfig = new 
ShardingSphereAlgorithmConfiguration("CORE.QUERY_ASSISTED.FIXTURE", new 
Properties());
         ShardingSphereAlgorithmConfiguration metaDataAwareEncryptConfig = new 
ShardingSphereAlgorithmConfiguration("CORE.METADATA_AWARE.FIXTURE", new 
Properties());
-        EncryptColumnRuleConfiguration pwdColumnConfig = new 
EncryptColumnRuleConfiguration("pwd", "pwd_cipher", "", "pwd_plain", 
"test_encryptor", null);
+        EncryptColumnRuleConfiguration pwdColumnConfig = new 
EncryptColumnRuleConfiguration("pwd", "pwd_cipher", "", "pwd_plain", 
"test_encryptor", "test_encryptor", null);
         EncryptColumnRuleConfiguration creditCardColumnConfig = new 
EncryptColumnRuleConfiguration("credit_card", "credit_card_cipher", "", 
"credit_card_plain", "test_encryptor", null);
         EncryptColumnRuleConfiguration nameColumnConfig = new 
EncryptColumnRuleConfiguration("name", "name_cipher", "", "name_plain", 
"customized_encryptor", null);
         EncryptTableRuleConfiguration tableConfig = new 
EncryptTableRuleConfiguration("t_encrypt", Arrays.asList(pwdColumnConfig, 
creditCardColumnConfig, nameColumnConfig), null);
diff --git 
a/shardingsphere-features/shardingsphere-encrypt/shardingsphere-encrypt-distsql/shardingsphere-encrypt-distsql-handler/src/main/java/org/apache/shardingsphere/encrypt/distsql/handler/converter/EncryptRuleStatementConverter.java
 
b/shardingsphere-features/shardingsphere-encrypt/shardingsphere-encrypt-distsql/shardingsphere-encrypt-distsql-handler/src/main/java/org/apache/shardingsphere/encrypt/distsql/handler/converter/EncryptRuleStatementConverter.java
index 382d5c780fe..18402b74bf0 100644
--- 
a/shardingsphere-features/shardingsphere-encrypt/shardingsphere-encrypt-distsql/shardingsphere-encrypt-distsql-handler/src/main/java/org/apache/shardingsphere/encrypt/distsql/handler/converter/EncryptRuleStatementConverter.java
+++ 
b/shardingsphere-features/shardingsphere-encrypt/shardingsphere-encrypt-distsql/shardingsphere-encrypt-distsql-handler/src/main/java/org/apache/shardingsphere/encrypt/distsql/handler/converter/EncryptRuleStatementConverter.java
@@ -62,7 +62,7 @@ public final class EncryptRuleStatementConverter {
     // FIXME: support assistedEncryptorName on EncryptColumnSegment later
     private static EncryptColumnRuleConfiguration 
createEncryptColumnRuleConfiguration(final String tableName, final 
EncryptColumnSegment columnSegment) {
         return new EncryptColumnRuleConfiguration(columnSegment.getName(), 
columnSegment.getCipherColumn(), columnSegment.getAssistedQueryColumn(),
-                columnSegment.getPlainColumn(), getEncryptorName(tableName, 
columnSegment.getName()), null);
+                columnSegment.getPlainColumn(), getEncryptorName(tableName, 
columnSegment.getName()), "", null);
     }
     
     private static Map<String, ShardingSphereAlgorithmConfiguration> 
createEncryptorConfigurations(final EncryptRuleSegment ruleSegment) {
diff --git 
a/shardingsphere-jdbc/shardingsphere-jdbc-core/src/test/java/org/apache/shardingsphere/driver/fixture/encrypt/JDBCQueryAssistedEncryptAlgorithmFixture.java
 
b/shardingsphere-jdbc/shardingsphere-jdbc-core/src/test/java/org/apache/shardingsphere/driver/fixture/encrypt/JDBCQueryAssistedEncryptAlgorithmFixture.java
index a0621e3a4fb..3e98fac37d1 100644
--- 
a/shardingsphere-jdbc/shardingsphere-jdbc-core/src/test/java/org/apache/shardingsphere/driver/fixture/encrypt/JDBCQueryAssistedEncryptAlgorithmFixture.java
+++ 
b/shardingsphere-jdbc/shardingsphere-jdbc-core/src/test/java/org/apache/shardingsphere/driver/fixture/encrypt/JDBCQueryAssistedEncryptAlgorithmFixture.java
@@ -35,7 +35,7 @@ public final class JDBCQueryAssistedEncryptAlgorithmFixture 
implements QueryAssi
     
     @Override
     public String encrypt(final Object plainValue, final EncryptContext 
encryptContext) {
-        return "encryptValue";
+        return "assistedEncryptValue";
     }
     
     @Override
diff --git 
a/shardingsphere-jdbc/shardingsphere-jdbc-core/src/test/resources/config/config-encrypt-query-with-cipher.yaml
 
b/shardingsphere-jdbc/shardingsphere-jdbc-core/src/test/resources/config/config-encrypt-query-with-cipher.yaml
index 11d5aa064f6..ad3d5453c56 100644
--- 
a/shardingsphere-jdbc/shardingsphere-jdbc-core/src/test/resources/config/config-encrypt-query-with-cipher.yaml
+++ 
b/shardingsphere-jdbc/shardingsphere-jdbc-core/src/test/resources/config/config-encrypt-query-with-cipher.yaml
@@ -31,7 +31,8 @@ rules:
         pwd:
           cipherColumn: cipher_pwd
           assistedQueryColumn: assist_pwd
-          encryptorName: jdbc_query_assisted_encryptor_fixture
+          encryptorName: jdbc_encryptor_fixture
+          assistedQueryEncryptorName: jdbc_query_assisted_encryptor_fixture
     t_encrypt_contains_column:
       columns:
         plain_pwd:
diff --git 
a/shardingsphere-jdbc/shardingsphere-jdbc-core/src/test/resources/config/config-encrypt-query-with-plain.yaml
 
b/shardingsphere-jdbc/shardingsphere-jdbc-core/src/test/resources/config/config-encrypt-query-with-plain.yaml
index a607ee84932..2833d05ca09 100644
--- 
a/shardingsphere-jdbc/shardingsphere-jdbc-core/src/test/resources/config/config-encrypt-query-with-plain.yaml
+++ 
b/shardingsphere-jdbc/shardingsphere-jdbc-core/src/test/resources/config/config-encrypt-query-with-plain.yaml
@@ -31,7 +31,8 @@ rules:
         pwd:
           cipherColumn: cipher_pwd
           assistedQueryColumn: assist_pwd
-          encryptorName: jdbc_query_assisted_encryptor_fixture
+          encryptorName: jdbc_encryptor_fixture
+          assistedQueryEncryptorName: jdbc_query_assisted_encryptor_fixture
     t_encrypt_contains_column:
       columns:
         plain_pwd:
diff --git 
a/shardingsphere-test/shardingsphere-rewrite-test/src/test/java/org/apache/shardingsphere/sharding/rewrite/fixture/encrypt/RewriteQueryAssistedEncryptAlgorithmFixture.java
 
b/shardingsphere-test/shardingsphere-rewrite-test/src/test/java/org/apache/shardingsphere/sharding/rewrite/fixture/encrypt/RewriteQueryAssistedEncryptAlgorithmFixture.java
index 2b46e404b4e..011b5022709 100644
--- 
a/shardingsphere-test/shardingsphere-rewrite-test/src/test/java/org/apache/shardingsphere/sharding/rewrite/fixture/encrypt/RewriteQueryAssistedEncryptAlgorithmFixture.java
+++ 
b/shardingsphere-test/shardingsphere-rewrite-test/src/test/java/org/apache/shardingsphere/sharding/rewrite/fixture/encrypt/RewriteQueryAssistedEncryptAlgorithmFixture.java
@@ -35,7 +35,7 @@ public final class 
RewriteQueryAssistedEncryptAlgorithmFixture implements QueryA
     
     @Override
     public String encrypt(final Object plainValue, final EncryptContext 
encryptContext) {
-        return "encrypt_" + plainValue;
+        return "assisted_query_" + plainValue;
     }
     
     @Override
diff --git 
a/shardingsphere-test/shardingsphere-rewrite-test/src/test/resources/scenario/encrypt/config/query-with-cipher.yaml
 
b/shardingsphere-test/shardingsphere-rewrite-test/src/test/resources/scenario/encrypt/config/query-with-cipher.yaml
index 6d4ccb2985c..965bbf5f675 100644
--- 
a/shardingsphere-test/shardingsphere-rewrite-test/src/test/resources/scenario/encrypt/config/query-with-cipher.yaml
+++ 
b/shardingsphere-test/shardingsphere-rewrite-test/src/test/resources/scenario/encrypt/config/query-with-cipher.yaml
@@ -27,12 +27,12 @@ rules:
         certificate_number:
           cipherColumn: cipher_certificate_number
           assistedQueryColumn: assisted_query_certificate_number
-          encryptorName: rewrite_assisted_query_fixture
+          encryptorName: rewrite_normal_fixture
           assistedQueryEncryptorName: rewrite_assisted_query_fixture
         password:
           cipherColumn: cipher_password
           assistedQueryColumn: assisted_query_password
-          encryptorName: rewrite_assisted_query_fixture
+          encryptorName: rewrite_normal_fixture
           assistedQueryEncryptorName: rewrite_assisted_query_fixture
         amount:
           cipherColumn: cipher_amount
@@ -46,19 +46,19 @@ rules:
           cipherColumn: cipher_certificate_number
           assistedQueryColumn: assisted_query_certificate_number
           plainColumn: plain_certificate_number
-          encryptorName: rewrite_assisted_query_fixture
+          encryptorName: rewrite_normal_fixture
           assistedQueryEncryptorName: rewrite_assisted_query_fixture
         password:
           cipherColumn: cipher_password
           assistedQueryColumn: assisted_query_password
           plainColumn: plain_password
-          encryptorName: rewrite_assisted_query_fixture
+          encryptorName: rewrite_normal_fixture
           assistedQueryEncryptorName: rewrite_assisted_query_fixture
         password_new:
           cipherColumn: password_new_cipher
           assistedQueryColumn: password_new_assisted
           plainColumn: password_new_plain
-          encryptorName: rewrite_assisted_query_fixture
+          encryptorName: rewrite_normal_fixture
           assistedQueryEncryptorName: rewrite_assisted_query_fixture
         amount:
           cipherColumn: cipher_amount
@@ -70,13 +70,13 @@ rules:
           cipherColumn: cipher_certificate_number
           assistedQueryColumn: assisted_query_certificate_number
           plainColumn: plain_certificate_number
-          encryptorName: rewrite_assisted_query_fixture
+          encryptorName: rewrite_normal_fixture
           assistedQueryEncryptorName: rewrite_assisted_query_fixture
         password:
           cipherColumn: cipher_password
           assistedQueryColumn: assisted_query_password
           plainColumn: plain_password
-          encryptorName: rewrite_assisted_query_fixture
+          encryptorName: rewrite_normal_fixture
           assistedQueryEncryptorName: rewrite_assisted_query_fixture
         amount:
           cipherColumn: cipher_amount
diff --git 
a/shardingsphere-test/shardingsphere-rewrite-test/src/test/resources/scenario/encrypt/config/query-with-plain.yaml
 
b/shardingsphere-test/shardingsphere-rewrite-test/src/test/resources/scenario/encrypt/config/query-with-plain.yaml
index 0f42d0dc845..8275809f667 100644
--- 
a/shardingsphere-test/shardingsphere-rewrite-test/src/test/resources/scenario/encrypt/config/query-with-plain.yaml
+++ 
b/shardingsphere-test/shardingsphere-rewrite-test/src/test/resources/scenario/encrypt/config/query-with-plain.yaml
@@ -27,11 +27,13 @@ rules:
         certificate_number:
           cipherColumn: cipher_certificate_number
           assistedQueryColumn: assisted_query_certificate_number
-          encryptorName: rewrite_assisted_query_fixture
+          encryptorName: rewrite_normal_fixture
+          assistedQueryEncryptorName: rewrite_assisted_query_fixture
         password:
           cipherColumn: cipher_password
           assistedQueryColumn: assisted_query_password
-          encryptorName: rewrite_assisted_query_fixture
+          encryptorName: rewrite_normal_fixture
+          assistedQueryEncryptorName: rewrite_assisted_query_fixture
         amount:
           cipherColumn: cipher_amount
           encryptorName: rewrite_normal_fixture
@@ -44,17 +46,20 @@ rules:
           cipherColumn: cipher_certificate_number
           assistedQueryColumn: assisted_query_certificate_number
           plainColumn: plain_certificate_number
-          encryptorName: rewrite_assisted_query_fixture
+          encryptorName: rewrite_normal_fixture
+          assistedQueryEncryptorName: rewrite_assisted_query_fixture
         password:
           cipherColumn: cipher_password
           assistedQueryColumn: assisted_query_password
           plainColumn: plain_password
-          encryptorName: rewrite_assisted_query_fixture
+          encryptorName: rewrite_normal_fixture
+          assistedQueryEncryptorName: rewrite_assisted_query_fixture
         password_new:
           cipherColumn: password_new_cipher
           assistedQueryColumn: password_new_assisted
           plainColumn: password_new_plain
-          encryptorName: rewrite_assisted_query_fixture
+          encryptorName: rewrite_normal_fixture
+          assistedQueryEncryptorName: rewrite_assisted_query_fixture
         amount:
           cipherColumn: cipher_amount
           plainColumn: plain_amount
@@ -65,12 +70,14 @@ rules:
           cipherColumn: cipher_certificate_number
           assistedQueryColumn: assisted_query_certificate_number
           plainColumn: plain_certificate_number
-          encryptorName: rewrite_assisted_query_fixture
+          encryptorName: rewrite_normal_fixture
+          assistedQueryEncryptorName: rewrite_assisted_query_fixture
         password:
           cipherColumn: cipher_password
           assistedQueryColumn: assisted_query_password
           plainColumn: plain_password
-          encryptorName: rewrite_assisted_query_fixture
+          encryptorName: rewrite_normal_fixture
+          assistedQueryEncryptorName: rewrite_assisted_query_fixture
         amount:
           cipherColumn: cipher_amount
           plainColumn: plain_amount
diff --git 
a/shardingsphere-test/shardingsphere-rewrite-test/src/test/resources/scenario/mix/config/query-with-cipher.yaml
 
b/shardingsphere-test/shardingsphere-rewrite-test/src/test/resources/scenario/mix/config/query-with-cipher.yaml
index 01d23d3f29d..9492fedb24f 100644
--- 
a/shardingsphere-test/shardingsphere-rewrite-test/src/test/resources/scenario/mix/config/query-with-cipher.yaml
+++ 
b/shardingsphere-test/shardingsphere-rewrite-test/src/test/resources/scenario/mix/config/query-with-cipher.yaml
@@ -74,7 +74,8 @@ rules:
         password:
           cipherColumn: cipher_password
           assistedQueryColumn: assisted_query_password
-          encryptorName: rewrite_assisted_query_fixture
+          encryptorName: rewrite_normal_fixture
+          assistedQueryEncryptorName: rewrite_assisted_query_fixture
         amount:
           cipherColumn: cipher_amount
           encryptorName: rewrite_normal_fixture
@@ -84,7 +85,8 @@ rules:
           cipherColumn: cipher_password
           assistedQueryColumn: assisted_query_password
           plainColumn: plain_password
-          encryptorName: rewrite_assisted_query_fixture
+          encryptorName: rewrite_normal_fixture
+          assistedQueryEncryptorName: rewrite_assisted_query_fixture
         amount:
           cipherColumn: cipher_amount
           plainColumn: plain_amount
@@ -95,7 +97,8 @@ rules:
           cipherColumn: cipher_password
           assistedQueryColumn: assisted_query_password
           plainColumn: plain_password
-          encryptorName: rewrite_assisted_query_fixture
+          encryptorName: rewrite_normal_fixture
+          assistedQueryEncryptorName: rewrite_assisted_query_fixture
         amount:
           cipherColumn: cipher_amount
           plainColumn: plain_amount
diff --git 
a/shardingsphere-test/shardingsphere-rewrite-test/src/test/resources/scenario/mix/config/query-with-plain.yaml
 
b/shardingsphere-test/shardingsphere-rewrite-test/src/test/resources/scenario/mix/config/query-with-plain.yaml
index 7424ba08cf7..63c9b4b2f2b 100644
--- 
a/shardingsphere-test/shardingsphere-rewrite-test/src/test/resources/scenario/mix/config/query-with-plain.yaml
+++ 
b/shardingsphere-test/shardingsphere-rewrite-test/src/test/resources/scenario/mix/config/query-with-plain.yaml
@@ -74,7 +74,8 @@ rules:
         password:
           cipherColumn: cipher_password
           assistedQueryColumn: assisted_query_password
-          encryptorName: rewrite_assisted_query_fixture
+          encryptorName: rewrite_normal_fixture
+          assistedQueryEncryptorName: rewrite_assisted_query_fixture
         amount:
           cipherColumn: cipher_amount
           encryptorName: rewrite_normal_fixture
@@ -84,7 +85,8 @@ rules:
           cipherColumn: cipher_password
           assistedQueryColumn: assisted_query_password
           plainColumn: plain_password
-          encryptorName: rewrite_assisted_query_fixture
+          encryptorName: rewrite_normal_fixture
+          assistedQueryEncryptorName: rewrite_assisted_query_fixture
         amount:
           cipherColumn: cipher_amount
           plainColumn: plain_amount

Reply via email to