1 18 package freecs.util; 19 20 import freecs.core.*; 21 22 public class CookieGenerator { 23 private static int COOKIE_LENGTH = 32; 24 25 private CookieGenerator () { 26 } 28 29 35 public static boolean checkValidity (String cookie) { 36 if (cookie == null || cookie.length() != COOKIE_LENGTH) 37 return false; 38 return true; 39 } 40 41 public static String generateCookie () { 42 String cval = ""; 43 for (boolean ok = false; !ok; ) { 44 StringBuffer c = new StringBuffer (); 45 while (c.length () < COOKIE_LENGTH) { 46 char x = (char) Math.ceil(Math.random() * 34); 47 if (x < 10) x = (char) (x + 48); 48 else x = (char) (x + 87); 49 c.append(x); 50 } 51 cval = c.toString (); 52 User u = UserManager.mgr.getUserByCookie (cval); 53 if (u != null) continue; 54 ok = true; 55 } 56 return cval; 57 } 58 59 public static void main (String args[]) { 60 System.out.println ("generating cookie"); 61 long start = System.currentTimeMillis(); 62 for (int i = 0; i < 100000; i++) { 63 String c = generateCookie (); 64 } 65 StringBuffer tsb = new StringBuffer ("spent ").append ((System.currentTimeMillis () - start)).append (" millis"); 66 System.out.println (tsb.toString ()); 67 System.out.println ("cookie generated"); 68 } 69 } | Popular Tags |