You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@shardingsphere.apache.org by zh...@apache.org on 2022/12/31 13:01:02 UTC

[shardingsphere] branch master updated: Revise pr 23220 (#23227)

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

zhaojinchao 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 54702712cae Revise pr 23220 (#23227)
54702712cae is described below

commit 54702712cae49d981635b64b9dd1c4055715b4e5
Author: Zhengqiang Duan <du...@apache.org>
AuthorDate: Sat Dec 31 21:00:56 2022 +0800

    Revise pr 23220 (#23227)
---
 docs/document/content/dev-manual/mask.cn.md        | 22 +++++++++++-----------
 docs/document/content/dev-manual/mask.en.md        | 22 +++++++++++-----------
 .../common-config/builtin-algorithm/mask.cn.md     | 20 ++++++++++----------
 .../common-config/builtin-algorithm/mask.en.md     | 20 ++++++++++----------
 ...rsonalIdentityNumberRandomReplaceAlgorithm.java | 22 +++++++++-------------
 ...alIdentityNumberRandomReplaceAlgorithmTest.java |  6 +++---
 6 files changed, 54 insertions(+), 58 deletions(-)

diff --git a/docs/document/content/dev-manual/mask.cn.md b/docs/document/content/dev-manual/mask.cn.md
index e601e5c39e7..301398910bf 100644
--- a/docs/document/content/dev-manual/mask.cn.md
+++ b/docs/document/content/dev-manual/mask.cn.md
@@ -17,14 +17,14 @@ chapter = true
 
 ### 已知实现
 
-| *配置标识*                        | *详细说明*           | *全限定类名*                                                                                                                                                                                                                                                            |
-|-------------------------------|------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
-| MD5                           | 基于 MD5 的数据脱敏算法   | [`org.apache.shardingsphere.mask.algorithm.hash.MD5MaskAlgorithm`](https://github.com/apache/shardingsphere/blob/master/features/mask/core/src/main/java/org/apache/shardingsphere/mask/algorithm/hash/MD5MaskAlgorithm.java)                 |
-| KEEP_FIRST_N_LAST_M           | 保留前 n 后 m 数据脱敏算法 | [`org.apache.shardingsphere.mask.algorithm.cover.KEEP_FIRST_N_LAST_M`](https://github.com/apache/shardingsphere/blob/master/features/mask/core/src/main/java/org/apache/shardingsphere/mask/algorithm/cover/KeepFirstNLastMMaskAlgorithm.java)                 |
-| KEEP_FROM_X_TO_Y              | 保留自 x 至 y 数据脱敏算法 | [`org.apache.shardingsphere.mask.algorithm.cover.KEEP_FROM_X_TO_Y`](https://github.com/apache/shardingsphere/blob/master/features/mask/core/src/main/java/org/apache/shardingsphere/mask/algorithm/cover/KeepFromXToYMaskAlgorithm.java)                 |
-| MASK_FIRST_N_LAST_M           | 遮盖前 n 后 m 数据脱敏算法 | [`org.apache.shardingsphere.mask.algorithm.cover.MASK_FIRST_N_LAST_M`](https://github.com/apache/shardingsphere/blob/master/features/mask/core/src/main/java/org/apache/shardingsphere/mask/algorithm/cover/MaskFirstNLastMMaskAlgorithm.java)                 |
-| MASK_FROM_X_TO_Y              | 遮盖自 x 至 y 数据脱敏算法 | [`org.apache.shardingsphere.mask.algorithm.cover.MASK_FROM_X_TO_Y`](https://github.com/apache/shardingsphere/blob/master/features/mask/core/src/main/java/org/apache/shardingsphere/mask/algorithm/cover/MaskFromXToYMaskAlgorithm.java)                 |
-| MASK_BEFORE_SPECIAL_CHARS     | 特殊字符前遮盖数据脱敏算法   | [`org.apache.shardingsphere.mask.algorithm.cover.MASK_BEFORE_SPECIAL_CHARS`](https://github.com/apache/shardingsphere/blob/master/features/mask/core/src/main/java/org/apache/shardingsphere/mask/algorithm/cover/MaskBeforeSpecialCharsAlgorithm.java)                 |
-| MASK_AFTER_SPECIAL_CHARS      | 特殊字符后遮盖数据脱敏算法   | [`org.apache.shardingsphere.mask.algorithm.cover.MASK_AFTER_SPECIAL_CHARS`](https://github.com/apache/shardingsphere/blob/master/features/mask/core/src/main/java/org/apache/shardingsphere/mask/algorithm/cover/MaskAfterSpecialCharsAlgorithm.java)                 |
-| TELEPHONE_RANDOM_REPLACE      | ⼿机号随机替换数据脱敏算法   | [`org.apache.shardingsphere.mask.algorithm.replace.TELEPHONE_RANDOM_REPLACE`](https://github.com/apache/shardingsphere/blob/master/features/mask/core/src/main/java/org/apache/shardingsphere/mask/algorithm/replace/TelephoneRandomReplaceAlgorithm.java)                 |
-| PERSONAL_IDENTITY_NUMBER_RANDOM_REPLACE      | 身份证号随机替换数据脱敏算法   | [`org.apache.shardingsphere.mask.algorithm.replace.PERSONAL_IDENTITY_NUMBER_RANDOM_REPLACE`](https://github.com/apache/shardingsphere/blob/master/features/mask/core/src/main/java/org/apache/shardingsphere/mask/algorithm/replace/PersonalIdentityNumberRandomReplaceAlgorithm.java)                 |
+| *配置标识*                                  | *详细说明*           | *全限定类名*                                                                                                                                                                                                                                                            |
+|-----------------------------------------|------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
+| MD5                                     | 基于 MD5 的数据脱敏算法   | [`org.apache.shardingsphere.mask.algorithm.hash.MD5MaskAlgorithm`](https://github.com/apache/shardingsphere/blob/master/features/mask/core/src/main/java/org/apache/shardingsphere/mask/algorithm/hash/MD5MaskAlgorithm.java)                 |
+| KEEP_FIRST_N_LAST_M                     | 保留前 n 后 m 数据脱敏算法 | [`org.apache.shardingsphere.mask.algorithm.cover.KEEP_FIRST_N_LAST_M`](https://github.com/apache/shardingsphere/blob/master/features/mask/core/src/main/java/org/apache/shardingsphere/mask/algorithm/cover/KeepFirstNLastMMaskAlgorithm.java)                 |
+| KEEP_FROM_X_TO_Y                        | 保留自 x 至 y 数据脱敏算法 | [`org.apache.shardingsphere.mask.algorithm.cover.KEEP_FROM_X_TO_Y`](https://github.com/apache/shardingsphere/blob/master/features/mask/core/src/main/java/org/apache/shardingsphere/mask/algorithm/cover/KeepFromXToYMaskAlgorithm.java)                 |
+| MASK_FIRST_N_LAST_M                     | 遮盖前 n 后 m 数据脱敏算法 | [`org.apache.shardingsphere.mask.algorithm.cover.MASK_FIRST_N_LAST_M`](https://github.com/apache/shardingsphere/blob/master/features/mask/core/src/main/java/org/apache/shardingsphere/mask/algorithm/cover/MaskFirstNLastMMaskAlgorithm.java)                 |
+| MASK_FROM_X_TO_Y                        | 遮盖自 x 至 y 数据脱敏算法 | [`org.apache.shardingsphere.mask.algorithm.cover.MASK_FROM_X_TO_Y`](https://github.com/apache/shardingsphere/blob/master/features/mask/core/src/main/java/org/apache/shardingsphere/mask/algorithm/cover/MaskFromXToYMaskAlgorithm.java)                 |
+| MASK_BEFORE_SPECIAL_CHARS               | 特殊字符前遮盖数据脱敏算法   | [`org.apache.shardingsphere.mask.algorithm.cover.MASK_BEFORE_SPECIAL_CHARS`](https://github.com/apache/shardingsphere/blob/master/features/mask/core/src/main/java/org/apache/shardingsphere/mask/algorithm/cover/MaskBeforeSpecialCharsAlgorithm.java)                 |
+| MASK_AFTER_SPECIAL_CHARS                | 特殊字符后遮盖数据脱敏算法   | [`org.apache.shardingsphere.mask.algorithm.cover.MASK_AFTER_SPECIAL_CHARS`](https://github.com/apache/shardingsphere/blob/master/features/mask/core/src/main/java/org/apache/shardingsphere/mask/algorithm/cover/MaskAfterSpecialCharsAlgorithm.java)                 |
+| PERSONAL_IDENTITY_NUMBER_RANDOM_REPLACE | 身份证号随机替换数据脱敏算法   | [`org.apache.shardingsphere.mask.algorithm.replace.PERSONAL_IDENTITY_NUMBER_RANDOM_REPLACE`](https://github.com/apache/shardingsphere/blob/master/features/mask/core/src/main/java/org/apache/shardingsphere/mask/algorithm/replace/PersonalIdentityNumberRandomReplaceAlgorithm.java)                 |
+| TELEPHONE_RANDOM_REPLACE                | ⼿机号随机替换数据脱敏算法   | [`org.apache.shardingsphere.mask.algorithm.replace.TELEPHONE_RANDOM_REPLACE`](https://github.com/apache/shardingsphere/blob/master/features/mask/core/src/main/java/org/apache/shardingsphere/mask/algorithm/replace/TelephoneRandomReplaceAlgorithm.java)                 |
diff --git a/docs/document/content/dev-manual/mask.en.md b/docs/document/content/dev-manual/mask.en.md
index 4333136c13f..00684f333be 100644
--- a/docs/document/content/dev-manual/mask.en.md
+++ b/docs/document/content/dev-manual/mask.en.md
@@ -17,14 +17,14 @@ Data masking algorithm definition
 
 ### Implementation classes
 
-| *Configuration Type* | *Description*                                    | *Fully-qualified class name*                                                                                                                                                                                                                                       |
-|-------------------------------|--------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
-| MD5                           | Data masking algorithm based on MD5              | [`org.apache.shardingsphere.mask.algorithm.hash.MD5MaskAlgorithm`](https://github.com/apache/shardingsphere/blob/master/features/mask/core/src/main/java/org/apache/shardingsphere/mask/algorithm/hash/MD5MaskAlgorithm.java)                 |
-| KEEP_FIRST_N_LAST_M           | Keep first n last m data masking algorithm       | [`org.apache.shardingsphere.mask.algorithm.cover.KEEP_FIRST_N_LAST_M`](https://github.com/apache/shardingsphere/blob/master/features/mask/core/src/main/java/org/apache/shardingsphere/mask/algorithm/cover/KeepFirstNLastMMaskAlgorithm.java)                 |
-| KEEP_FROM_X_TO_Y              | Keep from x to y data masking algorithm          | [`org.apache.shardingsphere.mask.algorithm.cover.KEEP_FROM_X_TO_Y`](https://github.com/apache/shardingsphere/blob/master/features/mask/core/src/main/java/org/apache/shardingsphere/mask/algorithm/cover/KeepFromXToYMaskAlgorithm.java)                 |
-| MASK_FIRST_N_LAST_M           | Mask first n last m data masking algorithm       | [`org.apache.shardingsphere.mask.algorithm.cover.MASK_FIRST_N_LAST_M`](https://github.com/apache/shardingsphere/blob/master/features/mask/core/src/main/java/org/apache/shardingsphere/mask/algorithm/cover/MaskFirstNLastMMaskAlgorithm.java)                 |
-| MASK_FROM_X_TO_Y              | Mask from x to y data masking algorithm          | [`org.apache.shardingsphere.mask.algorithm.cover.MASK_FROM_X_TO_Y`](https://github.com/apache/shardingsphere/blob/master/features/mask/core/src/main/java/org/apache/shardingsphere/mask/algorithm/cover/MaskFromXToYMaskAlgorithm.java)                 |
-| MASK_BEFORE_SPECIAL_CHARS     | Mask before special chars data masking algorithm | [`org.apache.shardingsphere.mask.algorithm.cover.MASK_BEFORE_SPECIAL_CHARS`](https://github.com/apache/shardingsphere/blob/master/features/mask/core/src/main/java/org/apache/shardingsphere/mask/algorithm/cover/MaskBeforeSpecialCharsAlgorithm.java)                 |
-| MASK_AFTER_SPECIAL_CHARS      | Mask after special chars data masking algorithm  | [`org.apache.shardingsphere.mask.algorithm.cover.MASK_AFTER_SPECIAL_CHARS`](https://github.com/apache/shardingsphere/blob/master/features/mask/core/src/main/java/org/apache/shardingsphere/mask/algorithm/cover/MaskAfterSpecialCharsAlgorithm.java)                 |
-| PERSONAL_IDENTITY_NUMBER_RANDOM_REPLACE      | Random replacement of personal identity number data masking algorithm   | [`org.apache.shardingsphere.mask.algorithm.replace.PERSONAL_IDENTITY_NUMBER_RANDOM_REPLACE`](https://github.com/apache/shardingsphere/blob/master/features/mask/core/src/main/java/org/apache/shardingsphere/mask/algorithm/replace/PersonalIdentityNumberRandomReplaceAlgorithm.java)                 |
-| TELEPHONE_RANDOM_REPLACE      | Telephone random replace data masking algorithm  | [`org.apache.shardingsphere.mask.algorithm.replace.TELEPHONE_RANDOM_REPLACE`](https://github.com/apache/shardingsphere/blob/master/features/mask/core/src/main/java/org/apache/shardingsphere/mask/algorithm/replace/TelephoneRandomReplaceAlgorithm.java)                 |
+| *Configuration Type*                    | *Description*                                           | *Fully-qualified class name*                                                                                                                                                                                                                                       |
+|-----------------------------------------|---------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
+| MD5                                     | Data masking algorithm based on MD5                     | [`org.apache.shardingsphere.mask.algorithm.hash.MD5MaskAlgorithm`](https://github.com/apache/shardingsphere/blob/master/features/mask/core/src/main/java/org/apache/shardingsphere/mask/algorithm/hash/MD5MaskAlgorithm.java)                 |
+| KEEP_FIRST_N_LAST_M                     | Keep first n last m data masking algorithm              | [`org.apache.shardingsphere.mask.algorithm.cover.KEEP_FIRST_N_LAST_M`](https://github.com/apache/shardingsphere/blob/master/features/mask/core/src/main/java/org/apache/shardingsphere/mask/algorithm/cover/KeepFirstNLastMMaskAlgorithm.java)                 |
+| KEEP_FROM_X_TO_Y                        | Keep from x to y data masking algorithm                 | [`org.apache.shardingsphere.mask.algorithm.cover.KEEP_FROM_X_TO_Y`](https://github.com/apache/shardingsphere/blob/master/features/mask/core/src/main/java/org/apache/shardingsphere/mask/algorithm/cover/KeepFromXToYMaskAlgorithm.java)                 |
+| MASK_FIRST_N_LAST_M                     | Mask first n last m data masking algorithm              | [`org.apache.shardingsphere.mask.algorithm.cover.MASK_FIRST_N_LAST_M`](https://github.com/apache/shardingsphere/blob/master/features/mask/core/src/main/java/org/apache/shardingsphere/mask/algorithm/cover/MaskFirstNLastMMaskAlgorithm.java)                 |
+| MASK_FROM_X_TO_Y                        | Mask from x to y data masking algorithm                 | [`org.apache.shardingsphere.mask.algorithm.cover.MASK_FROM_X_TO_Y`](https://github.com/apache/shardingsphere/blob/master/features/mask/core/src/main/java/org/apache/shardingsphere/mask/algorithm/cover/MaskFromXToYMaskAlgorithm.java)                 |
+| MASK_BEFORE_SPECIAL_CHARS               | Mask before special chars data masking algorithm        | [`org.apache.shardingsphere.mask.algorithm.cover.MASK_BEFORE_SPECIAL_CHARS`](https://github.com/apache/shardingsphere/blob/master/features/mask/core/src/main/java/org/apache/shardingsphere/mask/algorithm/cover/MaskBeforeSpecialCharsAlgorithm.java)                 |
+| MASK_AFTER_SPECIAL_CHARS                | Mask after special chars data masking algorithm         | [`org.apache.shardingsphere.mask.algorithm.cover.MASK_AFTER_SPECIAL_CHARS`](https://github.com/apache/shardingsphere/blob/master/features/mask/core/src/main/java/org/apache/shardingsphere/mask/algorithm/cover/MaskAfterSpecialCharsAlgorithm.java)                 |
+| PERSONAL_IDENTITY_NUMBER_RANDOM_REPLACE | Personal identity number random replace data masking algorithm | [`org.apache.shardingsphere.mask.algorithm.replace.PERSONAL_IDENTITY_NUMBER_RANDOM_REPLACE`](https://github.com/apache/shardingsphere/blob/master/features/mask/core/src/main/java/org/apache/shardingsphere/mask/algorithm/replace/PersonalIdentityNumberRandomReplaceAlgorithm.java)                 |
+| TELEPHONE_RANDOM_REPLACE                | Telephone random replace data masking algorithm         | [`org.apache.shardingsphere.mask.algorithm.replace.TELEPHONE_RANDOM_REPLACE`](https://github.com/apache/shardingsphere/blob/master/features/mask/core/src/main/java/org/apache/shardingsphere/mask/algorithm/replace/TelephoneRandomReplaceAlgorithm.java)                 |
diff --git a/docs/document/content/user-manual/common-config/builtin-algorithm/mask.cn.md b/docs/document/content/user-manual/common-config/builtin-algorithm/mask.cn.md
index 2939ba279a5..79f0df0d8a7 100644
--- a/docs/document/content/user-manual/common-config/builtin-algorithm/mask.cn.md
+++ b/docs/document/content/user-manual/common-config/builtin-algorithm/mask.cn.md
@@ -95,25 +95,25 @@ weight = 9
 
 ### 替换脱敏算法
 
-#### TELEPHONE_RANDOM_REPLACE 脱敏算法
+#### PERSONAL_IDENTITY_NUMBER_RANDOM_REPLACE 脱敏算法
 
-类型:TELEPHONE_RANDOM_REPLACE
+类型:PERSONAL_IDENTITY_NUMBER_RANDOM_REPLACE
 
 可配置属性:
 
-| *名称*            | *数据类型* | *说明*        |
-|-----------------|----------|-------------|
-| network-numbers | String   | ⽹号(以英文逗号分隔) |
+| *名称*                        | *数据类型* | *说明*                 |
+|------------------------------|----------|----------------------|
+| alpha-two-country-area-code  | String   | 两位字母国家/地区编码(可选,默认:CN)|
 
-#### PERSONAL_IDENTITY_NUMBER_RANDOM_REPLACE 脱敏算法
+#### TELEPHONE_RANDOM_REPLACE 脱敏算法
 
-类型:PERSONAL_IDENTITY_NUMBER_RANDOM_REPLACE
+类型:TELEPHONE_RANDOM_REPLACE
 
 可配置属性:
 
-| *名称*         | *数据类型* | *说明*         |
-|----------------|----------|----------------|
-| area | String   | 地区(可选,默认:中国)|
+| *名称*            | *数据类型* | *说明*        |
+|-----------------|----------|-------------|
+| network-numbers | String   | ⽹号(以英文逗号分隔) |
 
 ## 操作步骤
 1. 在脱敏规则中配置脱敏算法;
diff --git a/docs/document/content/user-manual/common-config/builtin-algorithm/mask.en.md b/docs/document/content/user-manual/common-config/builtin-algorithm/mask.en.md
index 2ce54d7ee80..0dd68083bc2 100644
--- a/docs/document/content/user-manual/common-config/builtin-algorithm/mask.en.md
+++ b/docs/document/content/user-manual/common-config/builtin-algorithm/mask.en.md
@@ -95,25 +95,25 @@ Attributes:
 
 ### Replace Data Masking Algorithm
 
-#### TELEPHONE_RANDOM_REPLACE Data Masking Algorithm
+#### PERSONAL_IDENTITY_NUMBER_RANDOM_REPLACE Data Masking Algorithm
 
-Type: TELEPHONE_RANDOM_REPLACE
+Type: PERSONAL_IDENTITY_NUMBER_RANDOM_REPLACE
 
 Attributes:
 
-| *Name*          | *DataType* | *Description*                         |
-|-----------------|--------|---------------------------------------|
-| network-numbers | String | Network numbers (separate with comma) |
+| *Name*                      | *DataType* | *Description*                                             |
+|-----------------------------|--------|-----------------------------------------------------------|
+| alpha-two-country-area-code | String | alpha two country area code (Optional, default value: CN) |
 
-#### PERSONAL_IDENTITY_NUMBER_RANDOM_REPLACE Data Masking Algorithm
+#### TELEPHONE_RANDOM_REPLACE Data Masking Algorithm
 
-Type: PERSONAL_IDENTITY_NUMBER_RANDOM_REPLACE
+Type: TELEPHONE_RANDOM_REPLACE
 
 Attributes:
 
-| *Name* | *DataType* | *Description*                    |
-|----------------|--------|----------------------------------------|
-| area | String | area (optional,default:CN) |
+| *Name*          | *DataType* | *Description*                         |
+|-----------------|--------|---------------------------------------|
+| network-numbers | String | Network numbers (separate with comma) |
 
 ## Operating Procedure
 1. Configure maskAlgorithms in a mask rule.
diff --git a/features/mask/core/src/main/java/org/apache/shardingsphere/mask/algorithm/replace/PersonalIdentityNumberRandomReplaceAlgorithm.java b/features/mask/core/src/main/java/org/apache/shardingsphere/mask/algorithm/replace/PersonalIdentityNumberRandomReplaceAlgorithm.java
index b8e00f22402..4f2cb22daf8 100644
--- a/features/mask/core/src/main/java/org/apache/shardingsphere/mask/algorithm/replace/PersonalIdentityNumberRandomReplaceAlgorithm.java
+++ b/features/mask/core/src/main/java/org/apache/shardingsphere/mask/algorithm/replace/PersonalIdentityNumberRandomReplaceAlgorithm.java
@@ -25,15 +25,13 @@ import java.util.Properties;
 import java.util.Random;
 
 /**
- * Personal identity number random replace.
+ * Personal identity number random replace algorithm.
  */
 public final class PersonalIdentityNumberRandomReplaceAlgorithm implements MaskAlgorithm<Object, String> {
     
-    private static final String AREA = "area";
+    private static final String ALPHA_TWO_COUNTRY_AREA_CODE = "alpha-two-country-area-code";
     
-    private String area;
-    
-    private final Random random = new Random();
+    private String alphaTwoCountryAreaCode;
     
     @Getter
     private Properties props;
@@ -41,7 +39,7 @@ public final class PersonalIdentityNumberRandomReplaceAlgorithm implements MaskA
     @Override
     public void init(final Properties props) {
         this.props = props;
-        this.area = props.getProperty(AREA, "CN");
+        this.alphaTwoCountryAreaCode = props.getProperty(ALPHA_TWO_COUNTRY_AREA_CODE, "CN");
     }
     
     @Override
@@ -50,17 +48,14 @@ public final class PersonalIdentityNumberRandomReplaceAlgorithm implements MaskA
         if (Strings.isNullOrEmpty(result)) {
             return result;
         }
-        switch (area) {
-            case "CN":
-                return randomReplaceForCN(result);
-            default:
+        if ("CN".equals(alphaTwoCountryAreaCode)) {
+            return randomReplaceForChinesePersonalIdentityNumber(result);
         }
         return result;
     }
     
-    private String randomReplaceForCN(final String result) {
-        int length = result.length();
-        switch (length) {
+    private String randomReplaceForChinesePersonalIdentityNumber(final String result) {
+        switch (result.length()) {
             case 15:
                 return randomReplaceNumber(result, 6, 12);
             case 18:
@@ -72,6 +67,7 @@ public final class PersonalIdentityNumberRandomReplaceAlgorithm implements MaskA
     
     private String randomReplaceNumber(final String result, final int from, final int to) {
         char[] chars = result.toCharArray();
+        Random random = new Random();
         for (int i = from; i < to; i++) {
             chars[i] = Character.forDigit(random.nextInt(10), 10);
         }
diff --git a/features/mask/core/src/test/java/org/apache/shardingsphere/mask/algorithm/replace/PersonalIdentityNumberRandomReplaceAlgorithmTest.java b/features/mask/core/src/test/java/org/apache/shardingsphere/mask/algorithm/replace/PersonalIdentityNumberRandomReplaceAlgorithmTest.java
index 05c741eb373..ad5394c819a 100644
--- a/features/mask/core/src/test/java/org/apache/shardingsphere/mask/algorithm/replace/PersonalIdentityNumberRandomReplaceAlgorithmTest.java
+++ b/features/mask/core/src/test/java/org/apache/shardingsphere/mask/algorithm/replace/PersonalIdentityNumberRandomReplaceAlgorithmTest.java
@@ -33,7 +33,7 @@ public final class PersonalIdentityNumberRandomReplaceAlgorithmTest {
     @Before
     public void setUp() {
         maskAlgorithm = new PersonalIdentityNumberRandomReplaceAlgorithm();
-        maskAlgorithm.init(createProperties("CN"));
+        maskAlgorithm.init(createProperties());
     }
     
     @Test
@@ -45,9 +45,9 @@ public final class PersonalIdentityNumberRandomReplaceAlgorithmTest {
         assertThat(maskAlgorithm.mask(""), is(""));
     }
     
-    private Properties createProperties(final String area) {
+    private Properties createProperties() {
         Properties result = new Properties();
-        result.setProperty("area", area);
+        result.setProperty("alpha-two-country-area-code", "CN");
         return result;
     }
 }