The HR department at the company that I am currently working for has requested that I provide a system for storing employee social security numbers in our company database. The
The best method I've seen for storing sensitive data is public key encryption, and storing the private key somewhere other than the database (say, through an application only available to the head of HR and the CEO):
Then we started storing people’s credit cards…but out on the website we’d immediately encrypt them with a public key. ...
On the backend, we had the private key, and with the right pass-phrase we could temporarily decrypt [the private key], then use [the private key] to decrypt a credit card, and charge the card for a DVD.