public static String generateUniqueKey(long seed, int length) throws IkszorException {
		String result = "";
		Random r = seed == 0 ? new Random() : new Random(seed);
		while(result.length() < length) {
			switch(r.nextInt(24)) {
				case 1:
					result += IkszorManager.getHashHex("SHA-1", System.currentTimeMillis()+"").substring(10);
					break;
				case 2:
					result += IkszorManager.getHashHex("SHA-1", System.nanoTime()+"").substring(10);
					break;
				case 3:
					result += IkszorManager.getHashHex("SHA-1", r.nextLong()+"").substring(10);
					break;
				case 4:
					result += IkszorManager.getHashHex("SHA-256", System.currentTimeMillis()+"").substring(22);
					break;
				case 5:
					result += IkszorManager.getHashHex("SHA-256", System.nanoTime()+"").substring(22);
					break;
				case 6:
					result += IkszorManager.getHashHex("SHA-256", r.nextLong()+"").substring(22);
					break;
				case 7:
					result += IkszorManager.getHashHex("SHA-384", System.currentTimeMillis()+"").substring(38);
					break;
				case 8:
					result += IkszorManager.getHashHex("SHA-384", System.nanoTime()+"").substring(38);
					break;
				case 9:
					result += IkszorManager.getHashHex("SHA-384", r.nextLong()+"").substring(38);
					break;
				case 10:
					result += IkszorManager.getHashHex("SHA-512", System.currentTimeMillis()+"").substring(54);
					break;
				case 11:
					result += IkszorManager.getHashHex("SHA-512", System.nanoTime()+"").substring(54);
					break;
				case 12:
					result += IkszorManager.getHashHex("SHA-512", r.nextLong()+"").substring(54);
					break;
				case 13:
					result += IkszorManager.getHashHex("MD5", System.currentTimeMillis()+"").substring(2);
					break;
				case 14:
					result += IkszorManager.getHashHex("MD5", System.nanoTime()+"").substring(2);
					break;
				case 15:
					result += IkszorManager.getHashHex("MD5", r.nextLong()+"").substring(2);
					break;
				case 16:
					result += IkszorManager.getHashHex("MD2", System.currentTimeMillis()+"").substring(2);
					break;
				case 17:
					result += IkszorManager.getHashHex("MD2", System.nanoTime()+"").substring(2);
					break;
				case 18:
					result += IkszorManager.getHashHex("MD2", r.nextLong()+"").substring(2);
					break;
				default:
					result += (char) r.nextInt(255);
			}
			
		}
		return result.substring(0, length);
	}