@CuteOne: Skąd wiesz co banki szyfrują, a czego nie?
@redeemer: @r4xy: @CuteOne: Dlaczego krytykujecie pomysł dodatkowego zabezpieczenia? A właściwie próby minimalizacji potencjalnych strat?
@Cliassi: Wszystko zależy od tego co potrzebujesz utajnić. Jeżeli są to jakieś prywatne dane użytkownika, możesz posłużyć się jego [dodatkowym] hasłem, jednak wtedy tracisz możliwość jakiejkolwiek analizy danych przez system, poza okresem gdzie użytkownik podał owe hasło. Adresy email jednak na 99% muszą być dostępne cały czas w Twojej aplikacji, więc to rozwiązanie odpada.
Trzymanie zaszyfrowanych danych binarnie/tekstowo w bazie danych (gdzie dane są [de]szyfrowane bezpośrednio przez aplikację) poza nielicznymi przypadkami nie ma sensu/uniemożliwia działanie systemu - przykładowo chęć sprawdzenia czy podany adres email nie jest przypadkiem w użyciu wymaga dostępu do wszystkich emaili w bazie.
Jednak nic nie stoi na przeszkodzie by szyfrować całą bazę danych/tabelę (
Przykładowe rozwiązanie dla baz Oracle) albo w ogóle cały dysk/system plików. Czy to Cię uchroni przed kimś kto uzyskał pełen dostęp do serwera, na poziomie systemu operacyjnego? Raczej nie. Czy uchroni Cię to przed kimś kto uzyskał możliwość ingerowania w kod aplikacji? Raczej nie. Ale uchroni Cię to w wypadku, gdy ktoś uzyskał dostęp do plików bazy danych na dysku, albo niepełnego dostępu do systemu.
Oczywiście, jest to zabezpieczenie, które szansę na przydanie się będzie miało niezwykle rzadko. Ale zawsze jest to jakieś dodatkowe zabezpieczenie, chroniące w pewnych sytuacjach dane Twoich klientów.