Jangan simpan kata sandi. Jika itu pernah duduk di disk, itu bisa dicuri. Sebagai gantinya, simpan hash kata sandi. Gunakan algoritme hashing yang tepat , seperti bcrypt (yang menyertakan garam).
EDIT :OP telah menjawab bahwa dia memahami masalah di atas.
Tidak perlu menyimpan kata sandi di tabel yang berbeda secara fisik dari login. Jika satu tabel database disusupi, bukanlah lompatan besar untuk mengakses tabel lain dalam database yang sama.
Jika Anda cukup memperhatikan keamanan dan keamanan secara mendalam, Anda dapat mempertimbangkan untuk menyimpan kredensial pengguna di penyimpanan data yang sepenuhnya terpisah dari data domain Anda. Salah satu pendekatan, yang biasa dilakukan, adalah menyimpan kredensial di server direktori LDAP. Ini mungkin juga membantu pekerjaan sistem masuk tunggal yang Anda lakukan nanti.