Was genau hätte eine Verschlüsselung (nicht Hashen!) denn gebracht? Vor allem, auf welcher Ebene hätte man denn Verschlüsselt? Ein Verschlüsselung auf FS Ebene (Truecrypt, LVM, Bitlocker,...) hilft gegen physikalischen Diebstahls des *ausgeschalteten* Geräts. Es hilft aber genau nichts gegen Applikations-Schwachstellen wie SQL Injects.
Ein Beispiel: TrueCrypt verschlĂĽsselt nach derzeitigem Stand des Wissens sehr gut - aber was bringt das bei einem Trojaner, der auf das TrueCrypt Laufwerk zugreifen kann, sobald es gemountet ist? Genau: Nix! Wo bringt es was? Wenn man mir den Rechner klaut und dieser ausgeschalten ist, oder in einem Zustand, in dem man nicht auf die SchlĂĽssel zugreifen kann.
Wenn wir von einer Verschlüsselung auf Daten-Ebene reden, dann bringt die jede Menge Aspekte mit sich, die man nicht so einfach wegwischen kann. Denn: Irgendwann *muss* ja zwangsweise auf die unverschlüsselten Daten zugegriffen werden. Was man machen kann ist das Ganze asymmetrisch zu verschlüsseln und den Private Key nur im Backend zu lagern. Sicher wird das Ganze allerdings auch nur mit HSM und strenger Trennung der Funktionen. Wenn man allerdings SQL Inject Lücken einbaut, ist man bestimmt zu blöd um ein HSM richtig einzusetzen. Außerdem könnte der Kunde niemals seine eigenen Zahlungsdaten einsehen - Kunde will das aber in aller Regel.
Applikations-Sicherheit ist das A und O. Wenn man verschlĂĽsselt und dann bei den anderen Sachen schlampt, bringt das im besten Fall gar nix, im Schlechtesten ein falsches GefĂĽhl der Sicherheit.