加密数据

一.环境: 在网络上发送报表、处理数据都会发生一些严重的安全问题。网络最大的担忧在于有人可以拦截通信信号并捕获数据。即使通信只限于局域网内,仍然有公司内部的人可以拦截高层管理者阅读的报表。

二.思路:1.创建证书

             2.创建测试表

             3.使用加密函数向测试表中写入测试数据

             4.提取加密数据

             5.解密数据

三.

实验步骤:

1. 创建证书

create master key encryption by password ='administrator123'

--用密码administrator123在master数据上创建证书c1

create certificate c1

encryption by password = 'administrator123'

with subject = 'c1 certificate',

start_date='05/08/2010',

expiry_date='12/31/2010';

新建查询,输入上面的代码

clip_image002

clip_image004

clip_image006

2. 创建测试表(name字段为要加密的列,数据类型为varbinary

create table test(id int identity(1,1),name varbinary(5000))

clip_image008

clip_image010

3. 使用加密函数向测试表中写入一条测试数据

insert into test(name)

select encryptbycert(cert_id('c1'),'test')

clip_image012

clip_image014

4. 利用下面的语句来提取加密的数据

clip_image016

clip_image018

5. 利用下面的语句来解密数据

clip_image020

clip_image022

四.总结和分析:从以上结果可以看出,这个加密是比较安全的,而且每次加密后的二进制数据也并不相同。唯一的缺点是会消耗大量的资源,不适合在大数量的环境下部署。另外加密后的数据量相对较大,如果是加密内容过多的话,数据库的增长将会愈加明显,可以根据实施环境选择应用。

你可能感兴趣的:(数据,职场,数据加密,休闲)