001 package railo.commons.lang; 002 003 import java.security.SecureRandom; 004 005 public class RandomUtil { 006 public static final char[] CHARS=new char[]{ 007 '0','1','2','3','4','5','6','7','8','9', 008 'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z', 009 'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'}; 010 011 public static final char[] CHARS_LC=new char[]{ 012 '0','1','2','3','4','5','6','7','8','9', 013 'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'}; 014 015 016 public static String createRandomString(int length){ 017 if(length<1) return ""; 018 SecureRandom sr = new SecureRandom(); 019 StringBuilder sb=new StringBuilder(); 020 for(int i=0;i<length;i++){ 021 int rnd=(int) (sr.nextDouble()*(CHARS.length-1)); 022 sb.append(CHARS[rnd]); 023 } 024 return sb.toString(); 025 } 026 027 public static String createRandomStringLC(int length){ 028 if(length<1) return ""; 029 SecureRandom sr = new SecureRandom(); 030 StringBuilder sb=new StringBuilder(); 031 for(int i=0;i<length;i++){ 032 int rnd=(int) (sr.nextDouble()*(CHARS_LC.length-1)); 033 sb.append(CHARS_LC[rnd]); 034 } 035 return sb.toString(); 036 } 037 }