public String obfuscateText(String _text) {
		// Obfuscated code will return by using StringBuilder;
		StringBuilder sb = new StringBuilder();

		// Change text to Char array.
		char ch[] = _text.toCharArray();
		// Make String array per 1 character from ch[].
		// This String array uses to check key character and etc.
		String[] choppedText = new String[_text.length()];
		for (int i = 0; i < _text.length(); i++) {
			choppedText[i] = String.valueOf(ch[i]);
		}

		// Obfuscate text with escaping.
		for (int i = 0; i < _text.length(); i++) {
			// Set top of the code.
			if (i == 0) {
				// Insert JavaScript code to enable execute.
				if (_keyChar == "%") {
					// If key character is "%", no needs replace method.
					sb.append("eval(unescape('");
				} else {
					// If key character isn't "%", it needs more "(".
					// Because of to replacet "%" with replace method.
					sb.append("eval(unescape(('");
				}
			}

			// Measures to line separator character.
			if (choppedText[i].matches(System.getProperty("line.separator"))) {
				// If line separator character has detected, ignore.
			} else {
				// Change character to binary code likes "%0A".
				sb.append(_keyChar + Integer.toHexString(ch[i]));
			}

			// Set bottom of the code.
			if (i == (_text.length() - 1)) {
				// Insert JavaScript code to enable execute.
				if (_keyChar == "%") {
					// If key character is "%", no needs replace method.
					sb.append("'));");
				} else {
					// If key character isn't "%", it needs replace method.
					// This section will add like "'.)replace(/@/g, '%')));".
					sb.append("').replace(/" + _keyChar + "/g, '%')));");
				}
			}
		}
		return new String(sb).replace(_keyChar + "9", _keyChar + "09").replace(_keyChar + "a", _keyChar + "0a");
	}