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;
ALTER 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.