欢迎您访问我爱IT技术网,今天小编为你分享的编程技术是:【怎样在SQL Server 2005中用证书加密数据】,下面是详细的分享!
怎样在SQL Server 2005中用证书加密数据
提到SQL Server 2005证书,很多人可能以为它只是用来在传输数据的时候起到加密作用的,但在深入了解后,你会发现它的用处还有很多。
在MySQL数据库中,encode和decode函数可以通过自己设定的密钥来加密数据库的表的某些列来达到数据安全的目的。在SQL Server 2005中同样可以用证书来将其实现。下文中将介绍如何来进行实现:
--创建主密钥
CREATE MASTER KEY ENCRYPTION BY PASSWORD='fengjicai'
--用密码fengjicai创建证书boyi
CREATE CERTIFICATE boyi
ENCRYPTION BY PASSWORD='fengjicai'
WITH SUBJECT='boyi55 test certificate',
start_date='02/08/2008',
EXPIRY_DATE='02/08/2009';
GO
--建测试表,name字段为要加密的列,数据类型要为varbinary
--因为加密后的数据是二进制数据
create table testB(id int identity(1,1),name varbinary(5000))
--向测试表中写入一条测试数据
insert into testB(name)
select encryptbycert(cert_id('boyi'),'boyi55')
--提取加密后数据
SELECT id, cast(DecryptByCert(Cert_Id('boyi'),
name, N'fengjicai')as varchar(20)) from testb
总结:
这个加密是比较安全的,而且每次加密后的二进制数据也并不相同。唯一的缺点是会消耗大量的资源,不适合在大数据量的环境下的部署。另外加密后的数据量相对较大,如果是加密内容过多的话,数据库的增长将会愈加明显。
以上所分享的是关于怎样在SQL Server 2005中用证书加密数据,下面是编辑为你推荐的有价值的用户互动:
相关问题:如何对sqlserver2005数据库中表字段进行加密,解密?
答:那你可以通过编程 在保存的时候,先把字段内容进得加密,然后再保存到数据库中。 读取的时候,读出数据后,再进行解密操作。 >>详细
相关问题:sql server中怎么给数据库表中的用户密码加密
答:在SQl2005下自带的函数hashbytes() ,此函数是微软在SQL SERVER 2005中提供的,可以用来计算一个字符串的 MD5 和 SHA1 值,使用方法如下: --获取123456的MD5加密串 select hashbytes('MD5', '123456') ; --获取123456的SHA1加密串 select hashb... >>详细
相关问题:请教SQL高手,如何在SQL SERVER 2005中使用MD5算法...
答:select sys.fn_VarBinToHexStr(HashBytes('MD5', 'reaky')) 不过加了密就解不出来了哦,你也可以参考下面连接中牛人自己写的加密算法 http://www.itpub.net/thread-924137-1-1.html >>详细
- 评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
-
