How do you encrypt data in SQL Server, PostgreSQL, or MySQL? Encryption is essential for protecting sensitive data both at rest (on disk) and in transit (during communication). SQL Server: Transparent Data Encryption (TDE): Encrypts data at rest without requiring application changes. CREATE DATABASE ENCRYPTION KEY;
LTER DATABASE MyDatabase SET ENCRYPTION ON;
- Column-Level Encryption: For encrypting specific columns.
CREATE CERTIFICATE MyCertificate WITH SUBJECT = 'My Certificate';
CREATE SYMMETRIC KEY MySymmetricKey WITH ALGORITHM = AES_256
ENCRYPTION BY CERTIFICATE MyCertificate;
OPEN SYMMETRIC KEY MySymmetricKey DECRYPTION BY CERTIFICATE
MyCertificate;
- PostgreSQL:
pgcrypto extension provides functions for encrypting data.
SELECT pgp_sym_encrypt('Sensitive Data', 'encryption_key');
- MySQL:
Encryption Functions: MySQL provides functions like AES_ENCRYPT and AES_DECRYPT.
SELECT AES_ENCRYPT('Sensitive Data', 'encryption_key');
SELECT AES_DECRYPT(encrypted_data, 'encryption_key');
- For all databases, consider using SSL/TLS for encrypting data in transit.