微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

关于SQlserver数据库的加密应用

-- Use the AdventureWorks database
   USE AdventureWorks;

-- Create a Database Master Key   创建密钥

CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'p@ssw0rd';

-- Create a Temp Table    创建一个临时表

CREATE TABLE Person.#Temp
(
ContactID INT PRIMARY KEY,
FirstName NVARCHAR(200),
MiddleName NVARCHAR(200),
LastName NVARCHAR(200),
eFirstName VARBINARY(200),
eMiddleName VARBINARY(200),
eLastName VARBINARY(200)
);

 


-- Create a Test Certificate, encrypted by the DMK  创建证书加密

CREATE CERTIFICATE TestCertificate
WITH SUBJECT = 'Adventureworks Test Certificate',
EXPIRY_DATE = '10/31/2012';


-- EncryptByCert demonstration encrypts 100 names from the Person.Contact table

INSERT INTO Person.#Temp (ContactID,eFirstName,eMiddleName,eLastName)
SELECT ContactID,EncryptByCert(Cert_ID('TestCertificate'),FirstName),
EncryptByCert(Cert_ID('TestCertificate'),MiddleName),LastName)
FROM Person.Contact
WHERE ContactID <= 100;

 

-- DecryptByCert demonstration decrypts the prevIoUsly encrypted data
UPDATE Person.#Temp
SET FirstName = DecryptByCert(Cert_ID('TestCertificate'),eFirstName),
MiddleName = DecryptByCert(Cert_ID('TestCertificate'),eMiddleName),
LastName = DecryptByCert(Cert_ID('TestCertificate'),eLastName);

 

-- View the results
SELECT * FROM Person.#Temp;

 

-- Clean up work: drop temp table, test certificate and master key DROP TABLE Person.#Temp; DROP CERTIFICATE TestCertificate; DROP MASTER KEY;

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐