This is of slight concern and I think it should be a high priority.
Right now credit card numbers are being stored (if chosen to be saved in the db, of course) as unfiltered numbers. I would recommend using an md5 or other type of encrypt() using md5/SALT and a random string, configurable only from within a settings file, and storing the data as a Binary BLOB. This ensures the most protection in case of unwarranted access to payment history / customer card information.
And of course it's easy enough to decrypt back and forth, as long as you have the key, so that during processing between admin and payment gateways you can still send out the actual card number.
I have code I can recycle from our current shopping cart system that uses a pretty solid method of encryption (and it's easy enough to change the encryption key). This is something I would need pretty much ASAP (and I can't imagine anyone else who wouldn't want this). Let me know your thoughts.







Once encryption is complete I'll make a separate post about it instructing users on how to best protect themselves and their customers from fraud.

Joined: 08/14/2007