запутайте или зашифруйте некоторые данные простого текста в PHP

Динамическое связывание требует дополнительного времени для ОС, чтобы найти динамическую библиотеку и загрузить ее. Со статической связью все вместе, и это однократная загрузка в память.

Также см. DLL Hell . Это сценарий, в котором загружаемая ОС не является той DLL, которая поставляется с вашим приложением, или той версией, которую ожидает ваше приложение.

13
задан Charles 25 December 2012 в 02:07
поделиться

6 ответов

для простой обфускации используйте strtr () - Преобразуйте определенные символы:
строка strtr (строка $ str, строка $ from, строка $ to)

в кодировать в php:

$readable='This is a special test string ABC123 ([+,-!#$%&*])';    
$unreadable=strtr($readable,' !"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ'
                           ,'¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ !"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ '
                      );
print $unreadable; //outputs: "ÕéêôAêôAâAôñæäêâíAõæôõAôõóêïèAÂÃIJ³´A©Ü¬­®¢¤¥¦§«Þª"

для декодирования в php:

$unreadable='ÕéêôAêôAâAôñæäêâíAõæôõAôõóêïèAÂÃIJ³´A©Ü¬­®¢¤¥¦§«Þª';
$readable=strtr($unreadable,'¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ !"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ '
                           ,' !"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ'

               );
print $readable; //outputs: "This is a special test string ABC123 ([+,-!#$%&*])"

вы можете легко воспроизвести эту логику в базе данных, если необходимо (без цикла): Используя таблицу чисел, Эрланд Соммарског

18
ответ дан 1 December 2019 в 18:06
поделиться

Как насчет кодировки base64 ? Мы используем это, чтобы сделать SMS-сообщения в нашей базе данных SMS-шлюза нечитаемыми разработчиками.

7
ответ дан 1 December 2019 в 18:06
поделиться

Есть несколько вариантов.

Если вам нужен очень сильный, вы можете изучить mcrypt.

Но если это так, работающие разработчики не могут прочитать текст без некоторых работать, чтобы действительно это сделать. Тогда вы можете просто BASE64 закодировать его или uuencode it

5
ответ дан 1 December 2019 в 18:06
поделиться

Если у вас установлен mcrypt (все мои текущие среды PHP установлены), вы можете использовать mcrypt_encrypt и mcrypt_decrypt следующим образом:

function encrypt ($text) {
  global $key;
  return mcrypt_encrypt (MCRYPT_RIJNDAEL_256, $key, $text, MCRYPT_MODE_ECB, "abcdefghijklmnopqrstuvwxyz012345");
}

function decrypt ($secret) {
  global $key;
  return rtrim (mcrypt_decrypt (MCRYPT_RIJNDAEL_256, $key, $secret, MCRYPT_MODE_ECB, "abcdefghijklmnopqrstuvwxyz012345"), "\0");
}

который использует глобальный $ key и AES (очень сильный).

Недостатки - производительность (по сравнению с более простыми, такими как Base64) и то, что вам нужно каким-то образом исправить ключ.

Ура,

4
ответ дан 1 December 2019 в 18:06
поделиться

Я свернул свои собственные классы MembershipProvider , используя производные типы MembershipUser для обертывания пользовательской схемы, поэтому профилируйте Свойства -style теперь доступны повсюду как часть производного пользователя через приведение.

pass_str)

Расшифровывает зашифрованную строку crypt_str, используя pass_str в качестве пароля. crypt_str должна быть строкой, возвращаемой из ENCODE ().

  • ENCODE (str, pass_str)

    Зашифровать строку, используя pass_str в качестве пароля. Чтобы расшифровать результат, используйте DECODE ().

    Результатом является двоичная строка той же длины, что и str.

    Сила шифрования зависит от того, насколько хорош генератор случайных чисел. Этого должно хватить для коротких строк.

  • обновление: другой вариант: rot13 ^^

    Сила шифрования зависит от того, насколько хорош генератор случайных чисел. Этого должно хватить для коротких строк.

    обновление: другой вариант: rot13 ^^

    Сила шифрования зависит от того, насколько хорош генератор случайных чисел. Этого должно хватить для коротких строк.

    обновление: другой вариант: rot13 ^^

    3
    ответ дан 1 December 2019 в 18:06
    поделиться

    Попробуйте использовать библиотеку mcrypt. Он не включен в стандартный PHP, но его легко загрузить и очень часто используют. Вот краткое руководство о том, что с ним можно делать.

    Лучше всего убедиться, что ключ, который вы используете для шифрования, хранится в надежном месте, но если вас не беспокоит безопасность , вы, вероятно, будете в порядке, просто закодируйте ключ где-нибудь в своем коде.

    2
    ответ дан 1 December 2019 в 18:06
    поделиться
    Другие вопросы по тегам:

    Похожие вопросы: