private String generateKey() {
		Random r = new Random();
		long maxNumber = 4294967295L;
		long spaces = r.nextInt(12) + 1;
		int max = new Long(maxNumber / spaces).intValue();
		max = Math.abs(max);
		int number = r.nextInt(max) + 1;
		if (this.number1 == 0) {
			this.number1 = number;
		}
		else {
			this.number2 = number;
		}
		long product = number * spaces;
		String key = Long.toString(product);
		int numChars = r.nextInt(12);
		for (int i=0; i < numChars; i++){
			int position = r.nextInt(key.length());
			position = Math.abs(position);
			char randChar = (char)(r.nextInt(95) + 33);
			//exclude numbers here
			if(randChar >= 48 && randChar <= 57){
				randChar -= 15;
			}
			key = new StringBuilder(key).insert(position, randChar).toString();
		}
		for (int i = 0; i < spaces; i++){
			int position;
			if((key.length()-1) > 0)
				position = r.nextInt(key.length() - 1) + 1;
			else
				position = r.nextInt(1)+1;
			//int position = r.nextInt(key.length() - 1) + 1;
			position = Math.abs(position);
			key = new StringBuilder(key).insert(position,"\u0020").toString();
		}
		return key;
	}