zoukankan      html  css  js  c++  java
  • 关于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),
    EncryptByCert(Cert_ID('TestCertificate'), 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;

  • 相关阅读:
    C语言笔记
    js学习笔记
    Javascript学习笔记
    Java基础知识
    使用 StackExchange.Redis 封装属于自己的 RedisHelper
    StackExchange.Redis 使用资料
    .NET平台下Redis使用(三)【ServiceStack.Redis学习】
    .NET平台下Redis使用(二)【StackExchange.Redis学习】
    Redis 详解 (一) StackExchange.Redis Client
    .NET中使用Redis
  • 原文地址:https://www.cnblogs.com/voidobject/p/3975507.html
Copyright © 2011-2022 走看看