gienek Napisano Lipiec 14, 2012 Zgłoś Share Napisano Lipiec 14, 2012 Cześć, Mam prosty program bazodanowy, korzystam z pliku typowanego do przechowywania danych. Problem w tym, że przechowywane dane muszę zabezpieczyć hasłem i nie wiem jak to hasło zapisać w pliku archiwum by nie uszkodzić struktury danych. Baza musi być przenośna, więc odpada chowanie hasła w rejestrze czy innym pliku. Myślałem nad plikami INI - zapisywać wszystko do osobnych sekcji, potem je od razu odczytać (ReadSections) i pominąć przy wyświetlaniu sekcję np. password. Tyle że pliki INI są względnie łatwe do odczytania - musiałbym zaszyfrować całą strukturę, razem ze znakami [,],=. Używam darmowego Turbo Delphi Explorer. Link do komentarza Udostępnij na innych stronach More sharing options...
olesio Napisano Lipiec 14, 2012 Zgłoś Share Napisano Lipiec 14, 2012 A co za problem zakodowac hasło na przykład SHA1 i zapisać je na początku plus wcześnej jego długośc? Lub zakodować jakimś odwracalnym algo jeżeli chcesz móc je odczytać nawet do zagwiazdkowanych Editów. Bo jeżeli użyjesz jakiś algo nieodwracalnych to wtedy po prostu po podaniu hasła przez Użytkownika porównujesz go z hashem w pliku. Jeśli nie hash to jakieś może xory albo szyfr Cezara albo spakowanie pliku ZLibem. Jest dużo rozwiązań, jednak nie jestem ekspertem od szyfrowania danych, więc pewnie ktoś jeszcze tutaj Tobie coś lepszego doradzi. Ja osobiście pakowałem pliki danych w TMemoryStream ZLibem. Są do tego kody i przykłady podane w google. Nie jest to super skuteczna metoda, ale dla niezaawansowanych "grzebaczy" powinna wystarczyć. Pozdrawiam: olesio Link do komentarza Udostępnij na innych stronach More sharing options...
gienek Napisano Lipiec 14, 2012 Autor Zgłoś Share Napisano Lipiec 14, 2012 Heh, pogrzebałem w Googlach i znalazłem sporo przykładów z szyfrowaniem plików INI. Wygląda na to że to będzie lepsze rozwiązanie. Dziękuję za podpowiedzi Link do komentarza Udostępnij na innych stronach More sharing options...
Polecane posty
Zarchiwizowany
Ten temat jest archiwizowany i nie można dodawać nowych odpowiedzi.