• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Jak zaszyfrować bazę SQLite przez kod i otwierać ją tylko hasłem?

Object Storage Arubacloud
0 głosów
976 wizyt
pytanie zadane 26 czerwca 2019 w C i C++ przez XezolPL Obywatel (1,530 p.)

Dzień dobry. A więc ogółem mam program z bazą danych SQLite, teraz już go kończę i właściwie zostało mi tylko to szyfrowanie, a głowię się nad nim już z  2 tygodnie... A więc tak moje początkowe  próby wyglądały tak - StartDialog -> hasło usera -> losowy długi kod -> Hasłem szyfrujemy kod metodą XOR -> kodem szyfrujemy bazedanych i pliki. Wszystko byłoby super gdyby nie to że musiałem to robić na plikach i tworzyć wiadomo tam kopie itp, przez co niby przy normalnym używaniu działało wszystko (program działa -> aplikacja jest rozszyfrowana -> destruktor -> zaszyfrowana) ale gdy program zostawał zamknięty na ostro (przez procesy / wyłączenie komputera z prądu) to baza zostawała rozszyfrowana a program się sypał cały ... 

Znałem takie oto sposoby na zaszyfrowanie tej bazy, czy mógłby mi ktoś powiedzieć jak je mam wprowadzić do kodu, bo nie mam zielonego pojęcia :/ z góry dzięki

komentarz 26 czerwca 2019 przez XezolPL Obywatel (1,530 p.)
zrezygnowałem z XOR'a :

a) nawet  przy bardzo długim kodzie słabe szyfrowanie, łatwe do zhakowania

b) awaryjność :/

1 odpowiedź

+1 głos
odpowiedź 26 czerwca 2019 przez j23 Mędrzec (194,920 p.)

link <--- czytałeś to?

komentarz 26 czerwca 2019 przez XezolPL Obywatel (1,530 p.)

Tyle na tej stronie siedziałem i nie znalazłem takiego  odziwo O.o 

O to ci chodzi?

However, the extensions needed to read and write an encrypted database file are licensed software. You should only be able to see this software if you have a license.

Dobrze rozumiem, że to nie pójdzię? :/

komentarz 26 czerwca 2019 przez j23 Mędrzec (194,920 p.)

Z tego, co czytam, to SQLCipher wydaje się otwartym rozwiązaniem, tyle tylko, że będziesz musiał skompilować sobie tę bibliotekę.

komentarz 26 czerwca 2019 przez XezolPL Obywatel (1,530 p.)
No właśnie no nie mam pojęcia jak  tego  ciphera użyć, czy to  w kodzie czy trzeba przez cmd wgl no nie mam pojęcia jak się za to zabrać żeby baza byłą  zakodowana  cały czas a rozkodowywać ją tylko w  pamięci ram
komentarz 26 czerwca 2019 przez j23 Mędrzec (194,920 p.)

Czytasz czasem dokumentację?

komentarz 28 czerwca 2019 przez XezolPL Obywatel (1,530 p.)

No przecież widziałem ale nie wiem jak to zrobić w sensie

  1. You must define SQLITE_HAS_CODEC and SQLITE_TEMP_STORE=2 when building sqlcipher.
  2. If compiling against the default OpenSSL crypto provider, you will need to link libcrypto

jeszcze jak wplątać tu jakiegoś php'a czy coś bo mi errora pokazuje nie wiem jak gdzie to wsadzić wgl.

$ ./configure --enable-tempstore=yes CFLAGS="-DSQLITE_HAS_CODEC" \
	LDFLAGS="/opt/local/lib/libcrypto.a"
$ make
komentarz 28 czerwca 2019 przez j23 Mędrzec (194,920 p.)
To nie php, tylko komendy, które powinieneś wpisać w terminalu, by skompilować tę bibliotekę.

Nie podałeś, na jakim systemie działasz.
komentarz 28 czerwca 2019 przez XezolPL Obywatel (1,530 p.)
Na windowsie, aha czyli nie musiałbym ich za każdym razem odpalać przy uruchamianiu programu?
komentarz 28 czerwca 2019 przez XezolPL Obywatel (1,530 p.)
Super...

https://www.zetetic.net/sqlcipher/buy/

Kolejny tylko płatne ma binarki przekompilowane na windowsa
komentarz 28 czerwca 2019 przez j23 Mędrzec (194,920 p.)

Jeśli Windows, to możesz to skompilować z poziomu terminala MSYS2 + MinGW.

 

aha czyli nie musiałbym ich (...)

Nie, te komendy kompilują projekt z biblioteką. Później tylko dołączasz plik biblioteki i nagłówki.

 

komentarz 28 czerwca 2019 przez j23 Mędrzec (194,920 p.)
edycja 29 czerwca 2019 przez j23

OK, miałem chwilkę i skompilowałem tę bibliotekę -> link

Nie testowałem jej, nie wiem, czy zawarłem w paczce wszystkie pliki, ale to trzeba po prostu sprawdzić.

Podobne pytania

0 głosów
1 odpowiedź 323 wizyt
0 głosów
1 odpowiedź 2,375 wizyt
pytanie zadane 11 września 2018 w SQL, bazy danych przez mus Użytkownik (700 p.)
0 głosów
0 odpowiedzi 304 wizyt
pytanie zadane 3 sierpnia 2018 w SQL, bazy danych przez CodeR Nowicjusz (230 p.)

92,566 zapytań

141,420 odpowiedzi

319,614 komentarzy

61,952 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...