Mid SQL

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.

More from SQL Server Tutorial

All questions for this course