private final String lock2key(String lock) {
		String key_return;
		int len = lock.length();
		char[] key = new char[len];
		for (int i = 1; i < len; i++)
			key[i] = (char) (lock.charAt(i) ^ lock.charAt(i - 1));
		key[0] = (char) (lock.charAt(0) ^ lock.charAt(len - 1) ^ lock.charAt(len - 2) ^ 5);
		for (int i = 0; i < len; i++)
			key[i] = (char) (((key[i] << 4) & 240) | ((key[i] >> 4) & 15));

		key_return = new String();
		for (int i = 0; i < len; i++) {
			if (key[i] == 0) {
				key_return += "/%DCN000%/";
			} else if (key[i] == 5) {
				key_return += "/%DCN005%/";
			} else if (key[i] == 36) {
				key_return += "/%DCN036%/";
			} else if (key[i] == 96) {
				key_return += "/%DCN096%/";
			} else if (key[i] == 124) {
				key_return += "/%DCN124%/";
			} else if (key[i] == 126) {
				key_return += "/%DCN126%/";
			} else {
				key_return += key[i];
			}
		}

		return key_return;
	}