/** * Returns a string containing an obfuscated Java source code expression * which computes a duplicate of the given string again. * This is equivalent to calling * <code>{@link #java}(long[])}({@link #array}(String)}(s))</code>. * <p> * As an example, calling this method with {@code "Hello world!"} as * its parameter may produce the result * {@code "new global.namespace.truelicense.obfuscate.runtime.ObfuscatedString(new long[] { * 0x39e61a665e397740l, 0xb681642064a96eael, 0xb8eb509886cc10f9l }).toString()"}. * If this Java source code is compiled and executed, it will * reproduce the original string {@code "Hello world!"} again. * * @param s the string to obfuscate. * This may not contain null characters. * @throws IllegalArgumentException If {@code s} contains a null character. * @return Some obfuscated Java source code to produce the given string * again. */ public static String obfuscate(final String s) { return java(array(s)); }