nkd — 2011-05-06T22:41:13-04:00 — #1
I have to encrypt a Microsoft SQL server database with "128 bit encryption". I use php and ADODB to connect to the database. I have no experience whatsoever encrypting a database. How can I do it? is it possible to keep using ADODB, or will I have to use "SQL Server Driver for PHP"? do I need to change my DB structure (changing field types, etc)?
Thank you for the help
wwb_99 — 2011-05-07T08:52:18-04:00 — #2
I'd start with the SQL books online, lots of different encryption options exist. Quite a bit depends on which exact version of Sql Server you are using.
Also, are they talking about encrypting the connection or encrypting the data itself -- that is two different problems.
I don't think ADODB and Sql Server Driver for PHP are mutually exclusive, but I haven't done PHP since either became viable so I'm not certain.
nkd — 2011-05-07T13:28:06-04:00 — #3
I think they are refering to encrypting the database. They have SQL Server 2000 and I have a test server with SQL Server 2005. I need something that can work in these two versions of SQL server.
I know there are many ecryption types. I really dont care which one I use. The only requisite is that it has to be 128 bits.
What I dont know if the encryption must be handled by the database itself or by PHP. For example, maybe I can do a function in PHP that encrypts a string using AES and then storing that in a binary field in the database. Then retrieve it and decrypt it using PHP. I dont know if this is standard procedure, or there is something that can handle encryption by the database itself. But then I dont know if the queries have to change, and this is why I dont know if I can use ADODB abstraction layer to handle those special queries.