Pull to refresh
19

Пользователь

7
Subscribers
Send message
насчет невозможно это вы зря )
явно не то о чем говорит её название )
возможно. будет время сделаю рефакторинг ) и упрощу
с этим никто и не спорит. просто наверное я не так выразился.
называйте квадраты ключами. если так хочется )
почти любое шифрование так или иначе использует ключи.
здесь нет понятия ключей в применимом обычно смысле. так как ключи внутренние, постоянные для каждой реализации функции и потому упрощающие пользование функцией
выше в комментах я ответил. щас добавлю в сам пост.
устраивает)
но имеет дополнительные минусы
— не работает если JS выключен
— злоумышленник имеет у себя исходник шифрования, что на порядок упрощает настройку бота на автоматический взлом
в общем от ботов чтото важное скрывать самое то.
например для защиты от спама.
делаю так
email

когда кликнули на mailto.php, я показываю окошко с Капчей, и если её правильно ввели, то налету получаю реальный Емайл из переданного шифра, и показываю пользователю
шифрование основано на двух матрицах(квадратах) с символами. символы в каждом квадрате одни и теже но в разной последовательности. тоесть вы берете мою функцию, перемешиваете подругому второй квадрат и всё. шифрование будет уже другое.
-почти пол функции это создание самих матриц с символами ) остальное обход в два цикла. как именно можно сделать проще?
-наличие [] в $s1[$a1[]][$a2[1]] э то парсер съел :(. там не [] должно быть а [0]
шифрование с помощью ключей, вещь конечно очень мощная.
но мне всегда было интересно придумать шифрование которое бы основывалось только на исходной строке.
насколько я знаю, до сих пор нет таких алгоритмов, чтобы они при этом были обратимыми и обладали очень высокой стойкостью к взлому.
приходилось пересаживаться на крупные самописные кемто или популярные фреймворки.
если там все по уму и с ООП, то можно через 15 минут начинать писать модули даже БЕЗ чьих-то пояснений. потому что сразу видно что там и где, где лежат одни объекты а где другие, что к чему относится. Все разложено по полочкам и иерархиям наследования.
если бы был просто набор функций то действительно надо сначала вникать и упорядочивать все это у себя в голове.
а с ООП уже все упорядочено и локализовано, использую API класса и пиши…
так что плохого в ООП очень мало
Все нужно применять к месту. не буду утверждать что лучше а что хуже. просто приведу пример реальной задачи:
Приложение работает с БД. Для получения данных используются разные функции:
-getRow()
-getRows()
-getColumn()
-getColumns()
-query()
-inset()
-…
Понятно что внутри функций выполняется какойто SQL.
Нужно сохранять все sql-запросы и замерять время работы каждого. для статистики.
1) ООП: я просто создам у объекта БД несколько private свойств-массивов и внутри каждой из перечисленных функций буду вычислять и сохранять sql-запросы в свойство-массив.
2) ПП:
-мне придется создать единую базовую функцию с статическим массивом для хранения sql -запросов и переписать существующие функции, чтобы они стали обертками к базовой
-хранить sql-запросы в глобальной переменной (но тогда доступ к этим запросам смогут получить даже те кому нельзя)
-писать отдельно функцию для сохранения sql-запросов (необоснованное размазывание логики сохранения этих запросов)

уверен — есть еще куча решений данной задачки, как в ООП так и в ПП.
МНЕ, именно эту задачу, проще, понятнее и логичнее реализовать в ООП )
ошибаетесь.
объявите в классе переменную для хранения сообщений как static
и она будет доступна всегда при вызове статических методов.
аналогично пользуюсь подобной статистикой, но у меня все просто:

объекты DB и Cache сами подсчитывают запросы и попадания в кеш…
а в шаблонизаторе, в нужном мне месте, я просто получаю из этих объектов что мне нужно: количество или сам текст запросов. и отображаю эту инфу как мне надо. шаблонизатору ничего и никого ждать не надо.
Он вообще абстрагирован, и ничего не знает о том откуда получил данные и т.д.
соотвественно его можно использовать всегда и везде, так как количество зависимостей сведено к минимуму.
>«далеко не всё известно» :)
что там у вас за мутант-смарти которому столько всего нужно знать )

я в таких случаях делаю ЭТО в конструкторе — и не парюсь )

Information

Rating
Does not participate
Registered
Activity