diff --git a/tools/ant-sword/src/main/java/com/reajason/javaweb/antsword/Utils.java b/tools/ant-sword/src/main/java/com/reajason/javaweb/antsword/Utils.java index 8f6b0eb6..02dbfde1 100644 --- a/tools/ant-sword/src/main/java/com/reajason/javaweb/antsword/Utils.java +++ b/tools/ant-sword/src/main/java/com/reajason/javaweb/antsword/Utils.java @@ -1,6 +1,10 @@ package com.reajason.javaweb.antsword; +import java.security.SecureRandom; +import java.util.Arrays; +import java.util.HashSet; import java.util.Random; +import java.util.Set; /** * @author ReaJason @@ -8,15 +12,30 @@ import java.util.Random; */ public class Utils { + public static final Set JAVA_KEYWORDS = new HashSet<>(Arrays.asList(new String[]{ + "abstract", "assert", "boolean", "break", "byte", "case", "catch", "char", "class", "const", + "continue", "default", "do", "double", "else", "enum", "extends", "final", "finally", "float", + "for", "goto", "if", "implements", "import", "instanceof", "int", "interface", "long", "native", + "new", "package", "private", "protected", "public", "return", "short", "static", "strictfp", "super", + "switch", "synchronized", "this", "throw", "throws", "transient", "try", "void", "volatile", "while" + })); + public static String getRandomAlpha(int length) { + String randomString = getRandomStringInternal(length); + while (JAVA_KEYWORDS.contains(randomString)) { + randomString = getRandomStringInternal(length); + } + return randomString; + } + + private static String getRandomStringInternal(int length) { String str = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"; - Random random = new Random(); + SecureRandom random = new SecureRandom(); StringBuilder sb = new StringBuilder(); - for (int i = 0; i < length; ++i) { + for (int i = 0; i < length; i++) { int number = random.nextInt(52); sb.append(str.charAt(number)); } - return sb.toString(); } diff --git a/tools/behinder/src/main/java/com/reajason/javaweb/behinder/Utils.java b/tools/behinder/src/main/java/com/reajason/javaweb/behinder/Utils.java index 696a20e4..b1e66577 100644 --- a/tools/behinder/src/main/java/com/reajason/javaweb/behinder/Utils.java +++ b/tools/behinder/src/main/java/com/reajason/javaweb/behinder/Utils.java @@ -1,6 +1,10 @@ package com.reajason.javaweb.behinder; +import java.security.SecureRandom; +import java.util.Arrays; +import java.util.HashSet; import java.util.Random; +import java.util.Set; /** * @author ReaJason @@ -8,15 +12,30 @@ import java.util.Random; */ public class Utils { + public static final Set JAVA_KEYWORDS = new HashSet<>(Arrays.asList(new String[]{ + "abstract", "assert", "boolean", "break", "byte", "case", "catch", "char", "class", "const", + "continue", "default", "do", "double", "else", "enum", "extends", "final", "finally", "float", + "for", "goto", "if", "implements", "import", "instanceof", "int", "interface", "long", "native", + "new", "package", "private", "protected", "public", "return", "short", "static", "strictfp", "super", + "switch", "synchronized", "this", "throw", "throws", "transient", "try", "void", "volatile", "while" + })); + public static String getRandomAlpha(int length) { + String randomString = getRandomStringInternal(length); + while (JAVA_KEYWORDS.contains(randomString)) { + randomString = getRandomStringInternal(length); + } + return randomString; + } + + private static String getRandomStringInternal(int length) { String str = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"; - Random random = new Random(); + SecureRandom random = new SecureRandom(); StringBuilder sb = new StringBuilder(); - for (int i = 0; i < length; ++i) { + for (int i = 0; i < length; i++) { int number = random.nextInt(52); sb.append(str.charAt(number)); } - return sb.toString(); } diff --git a/tools/godzilla/src/main/java/com/reajason/javaweb/godzilla/Utils.java b/tools/godzilla/src/main/java/com/reajason/javaweb/godzilla/Utils.java index 46356680..8afd0479 100644 --- a/tools/godzilla/src/main/java/com/reajason/javaweb/godzilla/Utils.java +++ b/tools/godzilla/src/main/java/com/reajason/javaweb/godzilla/Utils.java @@ -1,6 +1,10 @@ package com.reajason.javaweb.godzilla; +import java.security.SecureRandom; +import java.util.Arrays; +import java.util.HashSet; import java.util.Random; +import java.util.Set; /** * @author ReaJason @@ -8,15 +12,30 @@ import java.util.Random; */ public class Utils { + public static final Set JAVA_KEYWORDS = new HashSet<>(Arrays.asList(new String[]{ + "abstract", "assert", "boolean", "break", "byte", "case", "catch", "char", "class", "const", + "continue", "default", "do", "double", "else", "enum", "extends", "final", "finally", "float", + "for", "goto", "if", "implements", "import", "instanceof", "int", "interface", "long", "native", + "new", "package", "private", "protected", "public", "return", "short", "static", "strictfp", "super", + "switch", "synchronized", "this", "throw", "throws", "transient", "try", "void", "volatile", "while" + })); + public static String getRandomAlpha(int length) { + String randomString = getRandomStringInternal(length); + while (JAVA_KEYWORDS.contains(randomString)) { + randomString = getRandomStringInternal(length); + } + return randomString; + } + + private static String getRandomStringInternal(int length) { String str = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"; - Random random = new Random(); + SecureRandom random = new SecureRandom(); StringBuilder sb = new StringBuilder(); - for (int i = 0; i < length; ++i) { + for (int i = 0; i < length; i++) { int number = random.nextInt(52); sb.append(str.charAt(number)); } - return sb.toString(); }