public static String decrypt(String input, String key){
		int inputLength = input.length();
		char[] out = new char[inputLength];
		int code = key.hashCode();
		Character[] mapping = antiRandomizeArray(getMasterMapping(), code);
		for(int i = 0; i < inputLength; i++){
			char x = input.charAt(i);
			if(x < 32 && x != 9 && x != 10 || x > 255 || x > 126 && x < 160){
				throw new IllegalArgumentException("Illegal Input Character " + (int)x);
			}
			int y = convert(x);
			char z = mapping[y];
			out[i] = z;
		}
		return new String(out);
	}