Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #16  
Старый 25.09.2011, 17:55
Аватар для Konrad
Konrad Konrad вне форума
Эксперт
 
Регистрация: 19.03.2009
Сообщения: 1,261
Репутация: 45834
По умолчанию

ключ
r n i t y e t e

По сути это шифр Виженера.

Формула как я и писал:
Ci=(Pi+Kj) mod 256;

И для расшифровки:
Pi=(Ci-Kj) mod 256;

Р - отрытий текст.
С - шфртекст.


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

Последний раз редактировалось Konrad, 25.09.2011 в 18:02.
Ответить с цитированием
  #17  
Старый 25.09.2011, 18:31
Аватар для Oleg
Oleg Oleg вне форума
Активный
 
Регистрация: 29.11.2007
Адрес: Оренбургская обл., Россия
Сообщения: 261
Репутация: 15
Вопрос

Цитата:
Сообщение от Konrad
ключ
r n i t y e t e

По сути это шифр Виженера.

Формула как я и писал:
Ci=(Pi+Kj) mod 256;

И для расшифровки:
Pi=(Ci-Kj) mod 256;
И действительно, также работает.
Кстати, там слово не "r n i t y e t e ", а "ternitye", потому как читали мы относительно начального смещения + 3, а нужно было ещё и рейтинг прочитать для первой записи, поэтому слово получилось такое именно.
Это всё хорошо, вроде бы работает, читается как надо. но вот возникла другая проблема. В этом же файле можно хранить и изображение(hpg, jpeg, bmp, emf, wmf).
Попытался я значит создать файл bmp размеров 2х1, он на самом деле получился маленький. загрузил в программу. открыл полученный файл, а там столько мусора получилось , вовсе содержание файла не соответствует(даже с расшифровкой если)...
вот например, смотрите:
Код:
Bmp файл:
42 4D 3E 00 00 00 00 00  00 00 36 00 00 00 28 00  00 00   
01 00 00 00 02 00 00 00  01 00 18 00 00 00 00 00  08 00   
00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  00 00  
00000036   FF FF FF 00 00 00 00 00                                  
Если открыть файл, куда было сохранено изображение(с программы), то там вообще вместо этих 62 байт получается 868 байт. (это не считая 15 байт заголовка, о которых я писал выше.
Показывать все эти байты нет смысла. Вот начало, где идет изображение в файле:
Код:
xЁћЮ”¦ЇЄЕМРОЇДХЄ¶є¶µ¦іїЄ¶є¦ё”¤е«ёє¦БЁіХ¶·єМБ©іе¶№єЬБЄґїРє»¶ЕЄґїШј»ЬН®¶ЇШБЅ¦з°µеЬВЅНЅ¶¶їќЖЅМз±·
Но я думаю оно тоже зашифровано, поэтому я конечно же попытался перевести, в итоге получил в виде текста вот это:
Код:
/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAMCAgMCAgMDAwMEAwMEBQgFBQQEBQoHBwYIDAoMDAsKCwsNDhIQDQ4RDgsLEBYQERMUFRUVDA8XGBYUGBIUFRT/2wBDAQMEBAUEBQkFBQkUDQsNFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBT/wAARCAACAAEDASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD7+/4ZO+CH/RG/h/8A+EvY/wDxqiiigD//2T==
Кто-нибудь может подсказать что это за формат изображения ?
все символы полностью прочитались, нет неопределенных, тут bmp изображение 2х1. Но думаю оно записано в другом формате, тут я полностью бессилен, понятия не имею об этом формате, но думаю, что это один из известных, кто-нибудь может подсказать или помочь как-то ?
Замечено, что именно картинка всегда начинается с символов "/9j/", а заканчивается в основном двумя знаками =, т.е. "=="
Но так и не могу понять что это за формат такой. Как будто зашифровано по Base64..Но не уверен. И как быть дальше, если у кого есть идеи, мысли, прошу помочь. Пробую пока сам различное, но ничего путного не выходит.
__
Получилось! Всем огромное спасибо.
Действительно, чтобы получить картинку нужно было сначала расшифровать обычным методом, указанным выше, затем для куска картинки нужно было Base64 этот перевести в строку и на выход получаем JFIF (JPEG File Interchange Format) картинку.
__________________
Если Вы находите ошибки, исправить которые дело долгое и нудное, ничего не делайте - просто внесите их в список особенностей

Последний раз редактировалось Oleg, 25.09.2011 в 19:17.
Ответить с цитированием
  #18  
Старый 25.09.2011, 21:51
Аватар для angvelem
angvelem angvelem вне форума
.
 
Регистрация: 18.05.2011
Адрес: Омск
Сообщения: 3,970
Версия Delphi: 3,5,7,10,12,XE2
Репутация: выкл
По умолчанию

Цитата:
Сообщение от Oleg
Попытался я значит создать файл bmp размеров 2х1, он на самом деле получился маленький.
Да? А какая битность у хранимого битмапа?
24-бита - 62 байта,
8-бит - 1082 байта,
4-бита - 122 байта.
и это всё у битмапа размером 2х1.
__________________
Je venus de nulle part
55.026263 с.ш., 73.397636 в.д.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 01:26.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025