Например:
public class TestHashMap {
public static void main(String[] args) {
HashMap map = new HashMap(){
{
put("1", "ONE");
}{
put("2", "TWO");
}{
put("3", "THREE");
}
};
Set keySet = map.keySet();
for (String string : keySet) {
System.out.println(string+" ->"+map.get(string));
}
}
}
Как это работает
Первая скобка создает новый анонимный внутренний класс. Эти внутренние классы способны получить доступ к поведению своего родительского класса. Итак, в нашем случае мы фактически создаем подкласс класса HashSet, поэтому этот внутренний класс способен использовать метод add ().
И Второй набор фигурных скобок - это ничего, кроме инициализаторов экземпляров. Если вы напомните основные концепции Java, вы можете легко связать блоки инициализатора экземпляра со статическими инициализаторами из-за аналогичной структуры, подобной структуре. Единственное отличие состоит в том, что статический инициализатор добавляется с ключевым словом static и запускается только один раз; независимо от того, сколько объектов вы создаете.
Есть много способов сделать это (вы можете захотеть обфускать исходный код, вы можете сжать его, ...). Некоторые из этих методов требуют дополнительного кода для преобразования вашей программы в исполняемую форму (например, сжатие).
Но то, что не могут сделать все методы, сохраняет секретный код. Другая сторона получает ваш двоичный код, который всегда может быть преобразован (обратный дизайн) в удобочитаемую форму снова, потому что двоичный код содержит всю информацию о функциональности, которая предоставляется в вашем исходном коде.
https://toolki.com/ru/php-decoder/
Декодировать скрытые PHP eval (), gzinflate (), str_rot13 (), str_replace () и base64_decode () [/ д2]
Вы можете просто разделить интерфейс и бэкэнд. Интерфейс размещен на сервере клиентов с API, который вызывает вызовы на сервер на вашем сервере. Это удерживает весь собственный проприетарный код и заставляет пользователей подписывать / оплачивать подписки.
let others have the system installed and run on their machine
, поэтому размещение бэкэнд на вашем сервере не является вариантом
– ibex
31 May 2018 в 21:57
Есть некоторые онлайн-сервисы для обфускации php, чтобы скрыть код от других. Это один Свободный обфускатор правого кодера онлайн
@ Главич прав. «Ничто не является пуленепробиваемым». Вы можете кодировать исходный код и скрывать от более крупных программистов, а не от экспертов.
Да, вы можете скрыть / закодировать / зашифровать исходный код php, а «другие» могут установить его на своей машине. Вы можете использовать следующие инструменты для достижения того же самого.
Но эти «другие» также могут декодировать / расшифровать исходный код, используя другие инструменты и услуги, найденные в Интернете. Таким образом, вы не можете на 100% защитить свой код, что вы можете сделать, сделать его более сложным для того, чтобы кто-то мог перепроектировать ваш код.
Большинство этих инструментов выше поддерживают кодирование и обфускацию.
Вы можете использовать оба (кодирование и обфускация) или один, в зависимости от ваших потребностей.
Существуют коммерческие продукты, такие как ionCube (которые я использую), источник-хранитель и Zen Guard .
В сети также есть сообщения, в которых утверждается, что они могут перепроектировать закодированные программы. Насколько они надежны, сомнительно, так как я их никогда не использовал.
Обратите внимание, что для большинства этих решений требуется, чтобы на своих серверах был установлен кодировщик. Таким образом, вы можете захотеть убедиться, что ваш клиент устраивает это.