Метка «кодирование»

Я занимаюсь восстановлением исходников PHP из закодированного вида.
В этой статье я расскажу о том, как обстоят дела с кодированием и декодированием PHP в настоящее время.

Очень краткий ликбез по внутреннему устройству интерпретатора PHP

При выполнении PHP-скрипта, он парсится и компилируется в опкоды внутренней виртуальной машины PHP.
Из каждого файла PHP получаются:
— массив классов: в каждом классе — информация о классе, свойства класса и массив методов класса
— массив функций
— «тело скрипта» — код вне классов и функций
Читать полностью »

Привет!

Многие используют Base64 кодирование, реже Base32 и еще реже ZBase32 (вы знаете о таком?), но не все понимают их алгоритмы. В статье я описываю достоинства, недостатки данных кодировок, а также рассказываю о их реализации.
Читать полностью »

Июньский конкурс по ФП: поиск закодированной фразы мудрецаЗапоздало спешу представить на суд внимательного читателя отчёт о проведении конкурса по функциональному программированию под эгидой Фонда Поддержки Функционального Программирования ФП(ФП) в июне месяце сего года. Всем желающим была предложена задача, которую предложил на конкурс один наш добрый коллега, участвовавший в своё время в разработке решения задачи про полубезумного Доктора Х (см. отчёт на Хаброхабре «Поиск скрывающегося Доктора X среди пациентов — решение более сложных логических задач»). Условие задачи было таково…

Необходимо было написать программу, которая осуществит расшифровку представленного ниже в виде кодограммы послания. На конкурс принимались, как обычно, программы на любых языках программирования, но предпочтение отдавалось функциональной парадигме. По замыслу, после запуска программа должна выполнить подбор и поиск решения, после чего вывести его на экран. А вот и сама кодограмма:

Один восточный мудрец проникся духом Олимпийского движения и послал барону Пьеру де Кубертену ребус-шараду, в котором закодировал послание всем добрым людям мира:

Июньский конкурс по ФП: поиск закодированной фразы мудреца

Но мудрец не был бы самим собой, если бы не сделал всё это в виде математической головоломки. Как вы видите, здесь у нас есть диаграмма Венна, показывающее пересечение пяти множеств. Каждый сектор, образуемый пересечением, помечен буквой или каким-то иным символом, в том числе пробелом. Необходимо расставить числа от 1 до 15 в секторах таким образом, чтобы суммы чисел в каждом из пяти множеств, помеченных цветными кольцами, были равными друг другу. Это даст ключ к расшифровке послания.

Не совсем понятно почему, но задача оказалась не совсем уж и интересной. В конкурсе приняло участие всего только два человека, а ещё несколько вполне успешно «навангавали» правильный ответ, что, впрочем, за участие и тем более решение не засчитывалось. Ну а я сам, как обычно, предлагаю ознакомиться с кратким отчётом, описывающим решение поставленной задачи на прекрасном языке Haskell.

Читать полностью »

Визуальная криптография [1] впервые была введена Мони Наором и Ади Шамиром в 1994 году [3]. Она используется для шифрования изображения или текста, представленного в виде изображения. Основная идея модели визуальной криптографии состоит в разбиении исходного изображения на несколько шифрованных («теневых» изображений, shadow images), каждое из которых не дает никакой информации об исходном изображении кроме, может быть, его размера (изображение – а-ля «белый шум»). При наложении шифрованных изображений друг на друга, можно получить исходное изображение. Таким образом, для декодирования не требуется специальных знаний, высокопроизводительных вычислений и даже компьютера (в случае, если распечатать теневые изображения на прозрачных пленках). В случае использования этого алгоритма в компьютерных системах, наложить все части изображения друг на друга можно используя логические операции AND, OR, XOR (или установив более высокую степень прозрачности в графическом редакторе). Данная технология обладает криптоустойчивостью за счет того, что при разделении исходного изображения на множество шифроизображений происходит случайным образом.Читать полностью »

Программа и список экспертов инвестфонодов Windows 8 Хакатона

Как мы уже объявили, с 9 по 11 ноября, в Москве, в Ковокинге 2.0, Клубе Нагатино пройдёт Windows 8 Хакатон, который организуют компании Microsoft и ITMozg.

Сегодя мы расскажем подробнее о расписании, формате и приглашённых экспертах.

Итак, Хакатаон — это 3 дня и 2 ночи кодирования, общение с экспертами по разработке, консультации по дизайну и юзабилити, презентация проектов перед приглашёнными инвесторами, специальные призы от Майкрософт и наших партнеров каждые четыре часа хакатона! И конечно, захватывающая атмосфера международного фестиваля разработки для Windows 8! Победители получат шанс продвижения своего приложения на международном уровне! Читать полностью »

Голографические свойства бит реверсивной перестановкиОб экспериментах с компьютерной голографией писалось неоднократно. [1, 2, 3] Мне эта тема просто любопытна. Я как-то экспериментировал с бит-реверсивной перестановкой (bit-reversal permutation) изображений и случайно обнаружил голографические свойства. Но обо всем по порядку.
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js