Szyfrowanie zdjęcia??

Odpowiedz Nowy wątek
2006-12-13 19:43
0

Witajcie.
Potrzebuje jakiejś metody na szyfrowanie i rozszyfrowywanie zdjęcia.
Potrzebuje zaszyfrować zdjęcie, tak aby tylko mój program potrafił je odtworzyć.
Z tekstem sobie poradziłem, ale na zdjęcie nie mam pomysłu.

Jakies pomysły, rozwiązania??
Będę wdzięczny.

Pozostało 580 znaków

2006-12-13 19:52
0

a czym się to rózni?

txt = plik; bmp = plik;
txt = array [1..filesize] of char;
bmp = array [1..filesize] of byte;

gdzie pomiedzy char a byte tak naprawdę nie ma kompletnie żadnej różnicy (ci co piszą w C wiedzą o czym mówię).

Tak więc plik, nieważne jaki to tak naprawdę tablica bajtów. Jak chcesz prosto zaszyfrować zdjęcie to uzyj ksorowania np z maską $55;


<span style="color: blue">"Kolarstwo to jedna z najtrudniejszych dyscyplin sportu. Nawet najgorszy kolarz jest wciąż wybitnym sportowcem."
s.p. Marco Pantani
</span>

Pozostało 580 znaków

2006-12-13 19:53
0

każdy pixel w obrazie ma swoje 3 wartości RGB (Red, Green, Blue)
Każda z tych wartości mieści się w przedziale 0-255 (Bardzo podobnie do ASCII) .. możesz zrobić tak że program pobierze wartość Red i doda do niego liczbę np. 545453
I tak dalej. W każdym programie graficznym wyświetli Ci się biały obrazek. Lecz u Ciebie tą wartość znowu odejmij i wyjdzie Ci obrazek :-P
Wiem, że zagmatwałem :-P

Przedstawię to tak:
Wartości domyślne (np.):
Red: 50
Green: 100
Blue: 150

Dodajesz teraz 55454
i wartości będą miały:
Red: 50 + 55454
Green: 100 + 55454
Blue: 150 + 55454

Potem przy wczytywaniu odejmujesz te wartości z powrotem ;-)

Rozumiesz o co mi chodzi? ;-)
Jeśli nie to spróbuje jaśniej wytłumaczyć ;-)

edit:
Olek mnie znowu wyprzedził :-P


Pozostało 580 znaków

2006-12-13 20:06
0

No tekst mam w Memo, później funkcja mi tam koduje ten tekst w jakiś tam sposób i zawartość memo zapisuje sobie do pliku i jest niedo odczytania.
Zdjęcie tez bym tak chciał ale własnie tu jest problem.

Jak narazie to metoda PoP_Gniezno jest jedynym wyjściem.

Pozostało 580 znaków

2006-12-13 20:21
0

Bo memo nie czyta wartości niektórych znaków ascii
zapisz bitmape w memoryStream i wtedy koduj
Pop coś pitoli biały obrazek nie wyjdzie :)

Pozostało 580 znaków

2006-12-13 20:32
0

Nie wyjdzie biały..ale wyjdzie mozajka! :-D i o to chodzi co nie? :-P
A puchatek007 możesz zapisać jako zwykłą bitmape.. na to samo wyjdzie (chyba)

Image1.Picture.SaveToFile('sciezka');

Pozostało 580 znaków

2006-12-13 20:39
0
var
 Tab :array of Byte;
 FS  :TFileStream;
 i   :LongWord;

begin
 FS := TFileStream.Create('plik.graficzny', fmOpenReadWrite);
 Setlength(Tab, FS.Size);
 for i := 0 to FS.Size-1 do Tab[i] := Tab[i] xor $55;
 FS.WriteBuffer(Tab, FS.Size);
 FS.Free;
end;

Jakoś tak, naskrobałem na szybko


<span style="color: blue">"Kolarstwo to jedna z najtrudniejszych dyscyplin sportu. Nawet najgorszy kolarz jest wciąż wybitnym sportowcem."
s.p. Marco Pantani
</span>

Pozostało 580 znaków

2006-12-13 21:29
0
Oleksy_Adam napisał(a)

var
Tab :array of Byte;
FS  :TFileStream;
i   :LongWord;

begin
FS := TFileStream.Create('plik.graficzny', fmOpenReadWrite);
Setlength(Tab, FS.Size);
for i := 0 to FS.Size-1 do Tab[i] := Tab[i] xor $55;
FS.WriteBuffer(Tab, FS.Size);
FS.Free;
end;


OK, a jak wrócić??
Myślałem, żeby odwrócic proces i dałem:
```delphi
Tab[i] := $55 xor Tab[i];

Ale to nie pomogło :(.

Pozostało 580 znaków

2006-12-13 21:48
0

[green]
Xorowanie jest piękne bo kodowanie i dekodowanie to to samo, czyli odkodować "coś" to trzeba zakodować jeszcze raz.

Tab[i] := Tab[i] xor $55;

<span style="color: blue">"Kolarstwo to jedna z najtrudniejszych dyscyplin sportu. Nawet najgorszy kolarz jest wciąż wybitnym sportowcem."
s.p. Marco Pantani
</span>

Pozostało 580 znaków

2006-12-13 21:50
0

Xor ma to do siebie, że jest "odwracalny". Przykład:

A xor B = C
A xor C = B
B xor C = A

Teraz kombinuj :)


Mam nadzieję, że pomogłem :)

Łukasz Brodny

Pozostało 580 znaków

2006-12-13 22:01
0

Opis XOR.


<font color="red">Konto porzucone</span>

Dzięki wszystkim forumowiczom za lata wspólnych dyskusji; miłej zabawy w programowanie!
Sławomir 'Szczawik' Włodkowski

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0