重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
本篇内容主要讲解“SQLServer2008中的非对称密钥加密有什么用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“SQLServer2008中的非对称密钥加密有什么用”吧!
成都创新互联公司服务项目包括精河网站建设、精河网站制作、精河网页制作以及精河网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,精河网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到精河省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!SQLServer2008中非对称密钥加密有什么用
我们看一组例子:
示例一、创建非对称密钥
创建非对称密钥使用如下命令:
CREATEASYMMETRICKEY创建非对称密钥。(/tupian/20230522/ viewplaincopytoclipboardprint
示例二、查看当前数据库中的非对称密钥
使用目录视图sys.asymmetric_keys(/tupian/20230522/ viewplaincopytoclipboardprint
示例三、修改非对称密钥的私钥密码
你可以使用带有ENCRYPTIONBYPASSWORD和DECRYPTIONBYPASSWORD选项的ALTERASYMMETRICKEY(/tupian/20230522/ viewplaincopytoclipboardprint
--修改私钥密码
ALTERASYMMETRICKEYasymDemoKey--要修改的密钥名称
WITHPRIVATEKEY--私钥
(ENCRYPTIONBYPASSWORD='newpasswordE4D352F280E0',--指定新密码
DECRYPTIONBYPASSWORD='TestASYM123!')--旧密码是用来解密的
--修改私钥密码
ALTERASYMMETRICKEYasymDemoKey--要修改的密钥名称
WITHPRIVATEKEY--私钥
(ENCRYPTIONBYPASSWORD='newpasswordE4D352F280E0',--指定新密码
DECRYPTIONBYPASSWORD='TestASYM123!')--旧密码是用来解密的
示例四、使用非对称密钥对数据进行加密和解密。
由于同时需要公钥和密钥,在维护保密数据时使用非对称密钥来加密数据是非常安全的方式。但同时用于大数据集时将消耗更多的资源。
不推荐使用非对称密钥对数据加密,但它仍然是一个选择。一旦将非对称密钥加到数据库,就可以用来加密和解密数据。
用到以下两个sql函数:
EncryptByAsymKey加密数据。(/tupian/20230522/ DecryptByAsymKey解密数据。(/tupian/20230522/ 注意,在通过证书加密时,DecryptByAsymKey返回的是varbinary类型的加密数据。
下面是一个例子:
viewplaincopytoclipboardprint
useDB_Encrypt_Demo
go
--创建需要加密的数据
CreateTableBankUser
(PKIDintprimarykeyidentity(10001,1)
,UserNovarbinary(1000)null
,CurStatesmallintdefault(0)notnull
)
go
insertintoBankUser
(UserNo,CurState)
VALUES(EncryptByAsymKey(AsymKey_ID('asymDemoKey'),'137492837583249ABR'),1)
--插入一条记录,字段UserNo存储了加密的号码值
go
selectPKID,Curstate,cast(UserNoasnvarchar(1000))asUserNo
fromBankUser
wherePKID=10001
useDB_Encrypt_Demo
go
--创建需要加密的数据
CreateTableBankUser
(PKIDintprimarykeyidentity(10001,1)
,UserNovarbinary(1000)null
,CurStatesmallintdefault(0)notnull
)
go
insertintoBankUser
(UserNo,CurState)
VALUES(EncryptByAsymKey(AsymKey_ID('asymDemoKey'),'137492837583249ABR'),1)
--插入一条记录,字段UserNo存储了加密的号码值
go
selectPKID,Curstate,cast(UserNoasnvarchar(1000))asUserNo
fromBankUser
wherePKID=10001
SQLServer2008中非对称密钥加密有什么用
明文结果:
查看未加密的数据:
viewplaincopytoclipboardprint
SELECTPKID,Curstate,
cast
(DecryptByAsymKey(AsymKey_ID('asymDemoKey'),UserNo,N'newpasswordE4D352F280E0')
asvarchar(1000))asUserNo--需要原始私钥
fromBankUserwherePKID=10001
SELECTPKID,Curstate,
cast
(DecryptByAsymKey(AsymKey_ID('asymDemoKey'),UserNo,N'newpasswordE4D352F280E0')
asvarchar(1000))asUserNo--需要原始私钥
fromBankUserwherePKID=10001
示例五、删除非对称密钥
命令:DROPASYMMETRICKEY删除指定的非对称密钥(/tupian/20230522/ 例子:
viewplaincopytoclipboardprint
DROPASYMMETRICKEYasymDemoKey
DROPASYMMETRICKEYasymDemoKey
到此,相信大家对“SQLServer2008中的非对称密钥加密有什么用”有了更深的了解,不妨来实际操作一番吧!这里是创新互联建站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!