zoukankan      html  css  js  c++  java
  • 【转】SQL Server 2005 加密

    http://community.csdn.net/Expert/topic/5650/5650489.xml?temp=.7952539

    --先创建一个数据库 database

    --1.创建数据库主密钥

    use database
    Create master key
    ENCRYPTION by password = 'p@ssw0rd'

    --如果是强密码策略的系统需要写成强密码
    --2.创建存放加密数据的表

    Create table dbo.secTable
    (ID int identity primary key,[data] nvarchar(100))

    --3.创建数字证书,数字证书的密钥被数据库主密钥加密

    use database
    Create certificate Tomcert
    with
        subject = 'Tom Certificate',
    expiry_date = '2007-07-13 10:26:30'

    --expiry_date的时间要为将来时间,例如现在时刻是10:00 那么就写10:01,这样这个时间就生效了
    --运行后的警告
    --警告:您创建的证书尚未生效,生效时间为将来时间

    --4.创建对称密钥,被用证书对其进行加密

    create symmetric key sym_tom
    with ALGORITHM = desx encryption by certificate TomCert

    --5.使用证书解开对称密钥,将数据使用对称密钥加密后存储于表中,完成后关闭对称密钥

    open symmetric key sym_Tom decryption by certificate TomCert

    insert into sectable (data) values(encryptbykey(key_guid('sym_Tom'),N'TOM1'))
    insert into sectable (data) values(encryptbykey(key_guid('sym_Tom'),N'TOM2'))
    insert into sectable (data) values(encryptbykey(key_guid('sym_Tom'),N'TOM3'))

    close symmetric key sym_Tom

    --6.查看被加密的数据内容

    select * from dbo.SecTable

    --结果大概这个样子
    select id = 1,data = 'ꈀ䁱䘱ꂿ렿啔ᯉ' union all
    select id = 2,data = 'ꈀ䁱䘱ꂿ렿啔ᯉ' union all
    select id = 3,data = 'ꈀ䁱䘱ꂿ렿啔ᯉ'

    --7.使用证书解开对称密钥,解密数据表中的数据,完成后关闭对称密钥

    open symmetric key sym_Tom decryption by certificate TomCert

    select ID,Cast(DecryptByKey(Data) as nvarchar) as [data] from dbo.secTable

    Close SymmetRic key Sym_Tom

    --结果这个样子
    select id = 1,data = 'TOM1' union all
    select id = 2,data = 'TOM2' union all
    select id = 3,data = 'TOM3'

    --------------------------------------------------------------------------------

  • 相关阅读:
    printcap
    browser-ua
    PHP 开发 APP 接口 学习笔记与总结
    Java实现 LeetCode 72 编辑距离
    Java实现 LeetCode 72 编辑距离
    Java实现 LeetCode 72 编辑距离
    Java实现 LeetCode 71 简化路径
    Java实现 LeetCode 71 简化路径
    Java实现 LeetCode 71 简化路径
    Java实现 LeetCode70 爬楼梯
  • 原文地址:https://www.cnblogs.com/rock_chen/p/863351.html
Copyright © 2011-2022 走看看