From d5e1e558f22de9e20fbee6c1e8a884e65fa7cbbc Mon Sep 17 00:00:00 2001 From: Nils Schwabe Date: Thu, 10 Apr 2014 11:58:34 +0200 Subject: Added authentification for uni/hs server --> added serversession, serversessionmanager --> missing implementation for server authentication --- .../org/openslx/imagemaster/util/RandomString.java | 30 ++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 src/main/java/org/openslx/imagemaster/util/RandomString.java (limited to 'src/main/java/org/openslx/imagemaster/util') diff --git a/src/main/java/org/openslx/imagemaster/util/RandomString.java b/src/main/java/org/openslx/imagemaster/util/RandomString.java new file mode 100644 index 0000000..a0e9419 --- /dev/null +++ b/src/main/java/org/openslx/imagemaster/util/RandomString.java @@ -0,0 +1,30 @@ +package org.openslx.imagemaster.util; + +import java.security.SecureRandom; + +/** + * Generate secure random strings + * @author nils + * + */ +public class RandomString { + private static final String lettersSpecial="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890+-$%&/()=?@"; + private static final String letters="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890"; + private static final SecureRandom random = new SecureRandom(); + + /** + * Generate a random string. + * @param length the length of the string + * @param specialChars whether to use special charachters or not + * @return the generated string + */ + public static String generate(int length, boolean specialChars) { + String used = (specialChars)? lettersSpecial : letters; + String result = ""; + for (int i = 0; i < length; i++) { + int index = (int)(random.nextDouble()*used.length()); + result += used.substring( index, index + 1 ); + } + return result; + } +} -- cgit v1.2.3-55-g7522