!503 fix: 对RandomUtil.randomStringWithoutStr排除字符串兼容大写字母

Merge pull request !503 from dream/v5-dev
This commit is contained in:
Looly 2022-01-15 16:35:58 +00:00 committed by Gitee
commit 3720ca5ce7
No known key found for this signature in database
GPG Key ID: 173E9B9CA92EEF8F
2 changed files with 13 additions and 8 deletions

View File

@ -14,13 +14,7 @@ import java.math.BigDecimal;
import java.math.RoundingMode;
import java.security.NoSuchAlgorithmException;
import java.security.SecureRandom;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Date;
import java.util.LinkedHashSet;
import java.util.List;
import java.util.Random;
import java.util.Set;
import java.util.*;
import java.util.concurrent.ThreadLocalRandom;
/**
@ -524,7 +518,7 @@ public class RandomUtil {
*/
public static String randomStringWithoutStr(int length, String elemData) {
String baseStr = BASE_CHAR_NUMBER;
baseStr = StrUtil.removeAll(baseStr, elemData.toCharArray());
baseStr = StrUtil.removeAll(baseStr, elemData.toLowerCase(Locale.ROOT).toCharArray());
return randomString(baseStr, length);
}

View File

@ -8,6 +8,7 @@ import org.junit.Test;
import java.math.RoundingMode;
import java.util.List;
import java.util.Locale;
import java.util.Set;
public class RandomUtilTest {
@ -59,4 +60,14 @@ public class RandomUtilTest {
char c = RandomUtil.randomChinese();
Assert.assertTrue(c > 0);
}
@Test
public void randomStringWithoutStrTest() {
for (int i = 0; i < 100; i++) {
final String s = RandomUtil.randomStringWithoutStr(8, "0IPOL");
System.out.println(s);
for (char c : "0IPOL".toCharArray()) {
Assert.assertFalse(s.contains((String.valueOf(c).toLowerCase(Locale.ROOT))));
}
}
}
}