SQLServer2008中的非对称密钥加密有什么用-创新互联

本篇内容主要讲解“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中的非对称密钥加密有什么用”有了更深的了解,不妨来实际操作一番吧!这里是创新互联建站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!


本文标题:SQLServer2008中的非对称密钥加密有什么用-创新互联
网站路径:http://ybzwz.com/article/cesdec.html