本篇内容主要讲解“SQLServer2008中的非对称密钥加密有什么用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“SQLServer2008中的非对称密钥加密有什么用”吧! SQLServer2008中非对称密钥加密有什么用 我们看一组例子: 示例一、创建非对称密钥 创建非对称密钥使用如下命令: CREATEASYMMETRICKEY创建非对称密钥。(http://msdn.microsoft.com/en-us/library/ms174430.aspx) viewplaincopytoclipboardprint 示例二、查看当前数据库中的非对称密钥 使用目录视图sys.asymmetric_keys(http://msdn.microsoft.com/en-us/library/ms188399.aspx)来查看。 viewplaincopytoclipboardprint 示例三、修改非对称密钥的私钥密码 你可以使用带有ENCRYPTIONBYPASSWORD和DECRYPTIONBYPASSWORD选项的ALTERASYMMETRICKEY(http://technet.microsoft.com/en-us/library/ms189440.aspx)修改私钥的密码。 viewplaincopytoclipboardprint –修改私钥密码 ALTERASYMMETRICKEYasymDemoKey–要修改的密钥名称 WITHPRIVATEKEY–私钥 (ENCRYPTIONBYPASSWORD=’newpasswordE4D352F280E0′,–指定新密码 DECRYPTIONBYPASSWORD=’TestASYM123!’)–旧密码是用来解密的 –修改私钥密码 ALTERASYMMETRICKEYasymDemoKey–要修改的密钥名称 WITHPRIVATEKEY–私钥 (ENCRYPTIONBYPASSWORD=’newpasswordE4D352F280E0′,–指定新密码 DECRYPTIONBYPASSWORD=’TestASYM123!’)–旧密码是用来解密的 示例四、使用非对称密钥对数据进行加密和解密。 由于同时需要公钥和密钥,在维护保密数据时使用非对称密钥来加密数据是非常安全的方式。但同时用于大数据集时将消耗更多的资源。 不推荐使用非对称密钥对数据加密,但它仍然是一个选择。一旦将非对称密钥加到数据库,就可以用来加密和解密数据。 用到以下两个sql函数: EncryptByAsymKey加密数据。(http://technet.microsoft.com/en-us/library/ms186950.aspx) DecryptByAsymKey解密数据。(http://msdn.microsoft.com/en-us/library/ms189507.aspx) 注意,在通过证书加密时,DecryptByAsymKey返回的是varbinary类型的加密数据。 下面是一个例子: viewplaincopytoclipboardprint useDB_Encrypt_De免费主机域名mo go –创建需要加密的数据 CreateTableBankUser (PKIDintprimarykeyidentity(10001,1) ,UserNovarbin免费主机域名ary(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删除指定的非对称密钥(http://msdn.microsoft.com/en-us/library/ms188389.aspx) 例子: viewplaincopytoclipboardprint DROPASYMMETRICKEYasymDemoKey DROPASYMMETRICKEYasymDemoKey到此,相信大家对“SQLServer2008中的非对称密钥加密有什么用”有了更深的了解,不妨来实际操作一番吧!这里是云技术网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
相关推荐: PostgreSQL中B-Tree索引的物理存储内容有哪些
本篇免费主机域名内容主要讲解“PostgreSQL中B-Tree索引的物理存储内容有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“PostgreSQL中B-Tree索引的物理存储内容有哪些”吧!创建数据表,插入…