encrypt by password= 'administrator123'
with subject = 'c1 certificate',
start_date='03/08/2009',
expiry_date='03/08/2022';
GO
创建测试表, name 字段为要加密的列,数据类型为 varbinary
cr tabl testB id int ident 1,1 ,name varbinari 5000
注意:加密列的类型必需是 varbinari 因为加密后的数据是类型 varbinary
使用加密函数向测试表中写入一条测试数据
insert into testB name
select encryptbycert cert_id 'c1' , 'haha'
利用下面的语句来提取加密的数据
select * from testB
利用下面的语句来解密数据
select id ,cast decryptbycert cert_id 'c1' ,name,N'administrator123' as varchar 20 from testb
说明: decryptbycert 函数的返回类型为 varbinari 所以要使用 CA ST 函数将二进制转换为原始类型。 Name 为字段名,此处也必须是二进制,如果不是要做相应转换。
这个加密是比较平安的每次加密后的二进制数据也并不相同。唯一的缺点是会消耗大量的资源,不适合在大数据量的环境下部署,另外加密后的数据量相对较大,如果是加密后内容过多
的话。数据库的增长将会愈加明显。可以根据实施环境选择应用。
定期装置补丁
SQL最新的补丁是 SP2
搜索“diyifanwen.net”或“第一范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,第一范文网,提供最新初中教育数据库安全管理策略(8)全文阅读和word下载服务。
相关推荐: