Друзья, я решаю очень специфическую проблему. Хочу создать защиту изображения, путем пересылки HEX-кода (16-ти битный) клиенту, чтобы сам клиент потом обработал код и его машина выводила на экран изображение.
Пример, приведенный ниже, упрощен и служит просто чтобы понять механизм.
Допустим, есть очень маленькая часть картинки в 302 байта (иконка закрытия). Его код заносим в переменную, например str, она может быть массивом или просто текстовой переменной. Браузер ИЕ, кросбраузерность не нужна, сервер локальный, оптимизация под поисковые роботы и другие виды хорошего тона web-дизайнерского искуства тоже не принципиальна.
Вопросов три, покрайней мере пока
1. Возможно ли это сделать в JavaScript и AJAX или они могут делать только сравненительные операции с бинарными данными?
2. Нужны ли специфические заголовки в подобном случае? Ну скажем, явно указывать тип графического файла.
3. Я знаю, что существует достаточно хорошо описанный вариант с php, когда из базы данных идет отдача подобного кода. Кто знает в каком виде принимает браузер данные с сервера в этом случае? Двоичный код, 16-ти битный или еще какой-то.
Код даже 302-ух байтного файла достаточно большой, плюс вариантов представления кода много, как минимум два, поэтому выложу код только 16-ти битный, с которым и планировал работать, так как я точно знаю, что данный вид записи прекрасно перекодируется в картинку через HEX-редактор.
Жду с нетерпением любых советов и ответов, буду рад даже просто направлению в каком надо искать. Хотя боюсь уже знаю куда отправите
16-битный код, тот который желательно обрабатывать:
89504E470D0A1A0A0000000D49484452000000080000000908 020000008031FA790000001974455874536F66747761726500 41646F626520496D616765526561647971C9653C000000D049 44415478DA2CCC4D4A03411005E0EAEA9ACC107F82A08B4004 51113711BC834BD701D11B44D7B9468EE0E1DCC8383092F4F4 74754D9513101EDFE23D780E5E1BD4E49C33333500333077F0 EB5B74AC74E4B0FC67503AFDDC346DCD2919330E0292553238 235E5CD1E575B5FBF98DB1CA826CC241268013F25692FAB21A BFA948D3286581E6B1DFB5D6EF23779E2DE7DE9DDFB0080641 ED82AF9B692B29D4B3A7D5C5DB7A767B1F2550698391DB537F F6BC2E960F0314272FEFE6B7245D4C24C7F3BB6AF908805E47 F068F5F127C0002EDF7E07B2516E1C0000000049454E44AE42 6082