Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

Mã hóa bảng cơ sở dữ liệu trong SQL Server 2008

Bạn có các tùy chọn khác nhau ở đây.

  • Bạn có thể sử dụng mã hóa đối xứng cho dữ liệu của mình:

    TẠO BẢNG bán hàng (...)

Tạo khóa đối xứng:

CREATE CERTIFICATE cert_sales WITH SUBJECT = N'Sales certificate',
START_DATE = N'2009-01-01', EXPIRY_DATE = N'2018-12-31';

CREATE SYMMETRIC KEY symkey_sales WITH ALGORITHM = AES_256 
ENCRYPTION BY CERTIFICATE cert_sales

Mã hóa dữ liệu:

TRUNCATE TABLE sales;
OPEN SYMMETRIC KEY symkey_sales DECRYPTION BY CERTIFICATE cert_sales;
INSERT INTO sales() SELECT a, ENCRYPTBYKEY(Key_Guid(N'symkey_sales'), B) FROM T2;
CLOSE SYMMETRIC KEY symkey_sales;

Giải mã dữ liệu:

OPEN SYMMETRIC KEY symkey_sales DECRYPTION BY CERTIFICATE cert_sales;
SELECT a, CAST(DecryptByKey(B) as nvarchar(100)) FROM sales;
CLOSE SYMMETRIC KEY symkey_sales;
  • Bạn có thể sử dụng mã hóa không đối xứng cho dữ liệu của mình
  • Bạn có thể sử dụng Mã hóa dữ liệu chuyển tiếp để mã hóa tất cả các tệp cơ sở dữ liệu:

Tạo khóa chính:

USE master
go
CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'My$Strong$Password$123'

Tạo chứng chỉ:

CREATE CERTIFICATE DEK_EncCert WITH SUBJECT = 'DEK Encryption Certificate'

Tạo DEK:

USE MySecretDB
go
CREATE DATABASE ENCRYPTION KEY WITH ALGORITHM = AES_256
ENCRYPTION BY SERVER CERTIFICATE DEK_EncCert

Bật mã hóa:

ALTER DATABASE MySecretDB SET ENCRYPTION ON
  • Bạn có thể sử dụng BitLocker - mã hóa khối lượng hoàn chỉnh


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cách ngăn công việc máy chủ Sql chạy đồng thời

  2. SQL Server - Tổng tích lũy đặt lại khi gặp phải 0

  3. Tránh đặt tên theo thủ tục do người dùng lưu trữ SP% hoặc SP_%

  4. Cách lấy danh sách tất cả các ngôn ngữ trong SQL Server (T-SQL)

  5. Lọc câu lệnh SELECT theo thời gian trong ngày