Zaszyfrowany notatnik w JAVA

0

Witam,
chcialbym sie Was poradzic jak zaszyfrowac tekst w javie, aby go potem rozszyfrowac. Tworze notatnik w Javie. Na haslo - haslo shashowane MD5, zapisay hash hasla w pliku i po podaniu hasla metoda tworzy hash tego hasla i porownuje z hashem w pliku. Tu jest ok. Jak jednak zaszyfrowac tekst zapisany w textarea abym to tylko ja mogl go pozniej rozszyfrowac? Nie sposob zaszyfrowac np tekstu za pomoca jakiejs zewn. biblioteki i pozem go orozszyfrowac. Niepowolana osoba przeciez otworzy mojego jara i rowniez skorzysta z tych samych metod deszyfrujacych co ja...

Ktos ma pomysl jak to zrobic? Przetrzymywanie klucza w bazie danych nie wchodzi w gre...

Dzieki z gory!!!
Jestem bardzo ciekaw Waszych wskazowek

2

nie przechowuj hasha nigdzie
szyfruj plik np algorytmem AES używając tego hasha jako klucza

przy próbie odczytania po prostu spróbuj rozszyfrować plik tym hashem zamiast go porównywać - jeżeli uda się rozszyfrować i będzie się zgadzał CRC to znaczy że hasło było dobre

0

Racja! Naprawde wielkie dzieki!!!

0

@unikalna_nazwa Wyjaśnij mi: Chodzi o to, że hasło zamieniane na hash MD5 szyfruje tekst, więc podając błędne hasło, otrzyma się błędnie odszyfrowane hasło, tak?

Jeśli tak, to w takim wypadku lepiej unikać MD5, bo istnieje bardzo (bardzo, bardzo, bardzo, bardzo...) mała szansa (ale jednak jest!), że dwa hasła będą mieć identyczny hash. Lepiej po prostu szyfrować tekst samym hasłem, bez hasha.

EDIT: Ach tak, jest ograniczenie długości klucza. Zwracam honor. Lepszy MD5 :)

1

@ShookTea, problem w tym, że AES wymaga klucza o stałej wielkości (np. 128 czy 256 bitów). Wymaganie by każde hasło było tej długości jest dość nieporęczne. Dlatego najczęściej hasło się haszuje. W przypadku 128 bitów jest to MD5 albo ucięty SHA-1. W takim przypadku szansa na to, że ktoś znajdzie kolizję MD5 jest taka sama jak to, że ktoś zbrutuje całe hasło od razu (które musi mieć 128 bitów).

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