From d9062f8b060a6f70108d1e0763b3981a05469666 Mon Sep 17 00:00:00 2001 From: RuoYi <yzz_ivy@163.com> Date: 星期一, 08 四月 2024 13:15:42 +0800 Subject: [PATCH] 新增数据脱敏过滤注解 --- src/main/java/com/ruoyi/common/utils/StringUtils.java | 46 ++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 46 insertions(+), 0 deletions(-) diff --git a/src/main/java/com/ruoyi/common/utils/StringUtils.java b/src/main/java/com/ruoyi/common/utils/StringUtils.java index 215d115..fc6c6b5 100644 --- a/src/main/java/com/ruoyi/common/utils/StringUtils.java +++ b/src/main/java/com/ruoyi/common/utils/StringUtils.java @@ -23,6 +23,9 @@ /** 涓嬪垝绾� */ private static final char SEPARATOR = '_'; + /** 鏄熷彿 */ + private static final char ASTERISK = '*'; + /** * 鑾峰彇鍙傛暟涓嶄负绌哄�� * @@ -164,6 +167,49 @@ } /** + * 鏇挎崲鎸囧畾瀛楃涓茬殑鎸囧畾鍖洪棿鍐呭瓧绗︿负"*" + * + * @param str 瀛楃涓� + * @param startInclude 寮�濮嬩綅缃紙鍖呭惈锛� + * @param endExclude 缁撴潫浣嶇疆锛堜笉鍖呭惈锛� + * @return 鏇挎崲鍚庣殑瀛楃涓� + */ + public static String hide(CharSequence str, int startInclude, int endExclude) + { + if (isEmpty(str)) + { + return NULLSTR; + } + final int strLength = str.length(); + if (startInclude > strLength) + { + return NULLSTR; + } + if (endExclude > strLength) + { + endExclude = strLength; + } + if (startInclude > endExclude) + { + // 濡傛灉璧峰浣嶇疆澶т簬缁撴潫浣嶇疆锛屼笉鏇挎崲 + return NULLSTR; + } + final char[] chars = new char[strLength]; + for (int i = 0; i < strLength; i++) + { + if (i >= startInclude && i < endExclude) + { + chars[i] = ASTERISK; + } + else + { + chars[i] = str.charAt(i); + } + } + return new String(chars); + } + + /** * 鎴彇瀛楃涓� * * @param str 瀛楃涓� -- Gitblit v1.9.3