`
netxdiy
  • 浏览: 680505 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

SQL Server 2008中的代码安全(五):非对称密钥加密

 
阅读更多

SQL Server 2008中SQL应用系列--目录索引

非对称密钥包含数据库级的内部公钥和私钥,它可以用来加密和解密SQL Server数据库中的数据,它可以从外部文件或程序集中导入,也可以在SQL Server数据库中生成。它不像证书,不可以备份到文件。这意味着一旦在SQL Server中创建了它,没有非常简单的方法在其他用户数据库中重用相同的密钥。非对称密钥对于数据库加密属于高安全选项,因而需要更多的SQL Server资源。

我们看一组例子:

示例一、创建非对称密钥

创建非对称密钥使用如下命令:

CREATE ASYMMETRIC KEY 创建非对称密钥。(http://msdn.microsoft.com/en-us/library/ms174430.aspx

示例二、查看当前数据库中的非对称密钥

使用目录视图sys.asymmetric_keys(http://msdn.microsoft.com/en-us/library/ms188399.aspx)来查看。

示例三、修改非对称密钥的私钥密码

你可以使用带有ENCRYPTION BY PASSWORD和DECRYPTION BY PASSWORD选项的ALTER ASYMMETRIC KEY(http://technet.microsoft.com/en-us/library/ms189440.aspx)修改私钥的密码。

示例四、使用非对称密钥对数据进行加密和解密

由于同时需要公钥和密钥,在维护保密数据时使用非对称密钥来加密数据是非常安全的方式。但同时用于大数据集时将消耗更多的资源。

不推荐使用非对称密钥对数据加密,但它仍然是一个选择。一旦将非对称密钥加到数据库,就可以用来加密和解密数据。

用到以下两个sql函数:

EncryptByAsymKey 加密数据。(http://technet.microsoft.com/en-us/library/ms186950.aspx

DecryptByAsymKey解密数据。(http://msdn.microsoft.com/en-us/library/ms189507.aspx

注意,在通过证书加密时,DecryptByAsymKey返回的是varbinary类型的加密数据。

下面是一个例子:

明文结果:
邀月工作室

查看未加密的数据:

邀月工作室

示例五、删除非对称密钥

命令:DROP ASYMMETRIC KEY 删除指定的非对称密钥( http://msdn.microsoft.com/en-us/library/ms188389.aspx)

例子:

小结:

1、本文主要介绍非对称密钥的创建、删除、查看以及用它来修改私钥、进行数据的加密和解密。

2、非对称密钥包含数据库级的内部公钥和私钥,它可以用来加密和解密SQL Server数据库中的数据。

3、非对称密钥对于数据库加密属于高安全选项,因而需要更多的SQL Server资源,不推荐使用。

下文将主要介绍相对简单的并且广泛应用的对称密钥加密(Symmetric Key Encryption)

邀月注:本文版权由邀月和CSDN共同所有,转载请注明出处。
助人等于自助! 3w@live.cn
分享到:
评论

相关推荐

    SQLServer 2008中的代码安全(五) 非对称密钥加密

    非对称密钥对于数据库加密属于高安全选项,因而需要更多的SQL Server资源。 我们看一组例子: 示例一、创建非对称密钥 创建非对称密钥使用如下命令: CREATE ASYMMETRIC KEY 创建非对称密钥。...

    SQL 非对称密钥 示例代码

    SQL 非对称密钥 创建、删除、加密、解密、全部密匙查看等。

    SQLSERVER加密解密函数(非对称密钥 证书加密 对称密钥)使用方法代码

    代码如下:–SQLSERVER中的加密函数 2013-7-11ENCRYPTBYASYMKEY() –非对称密钥ENCRYPTBYCERT() –证书加密ENCRYPTBYKEY() –对称密钥ENCRYPTBYPASSPHRASE() –通行短语(PassPhrase)加密 ——————————...

    SQL Server 2008中的代码安全(六) 对称密钥加密

    困此,使用对称密钥加密数据更快,并且用在大数据时更加合适。尽管复杂度是考虑使用它的因素,但它仍然是一个很好的加密数据的选择。  我们看一组例子: 示例一、创建对称密钥 对称密钥的特性是:在数据库会话中...

    SQLServer 2008中的代码安全(七) 证书加密

    因为可以备份然后从文件中载入它们,证书比非对称密钥更易于移植,而非对称密钥却做不到。这意味着可以在数据库中方便地重用同一个证书。 注意:证书和非对称密钥同样的消耗资源。 我们看一组例子: 示例一、创建...

    sql server 2012非对称密钥加解密详细.docx

    sql server 2012非对称密钥加解密方法概述,本人亲自尝试成功,分享给大家看看。

    SQL Server 2008中的代码安全(三) 通过PassPhrase加密

    SQL Server也拥有创建非对称密钥和对称密钥对象的能力。非对称密钥(asymmetric key)与证书相似,公钥用来加密数据库,私钥用来解密数据。非对称密钥和证书都提供了强大的加密强度。但在完成复杂的加密|解密过程中...

    SQLServer 2008中的代码安全(四) 主密钥

    如果必须改变SQL Server服务账号,微软建议使用SQL Server配置管理器,因为这个工具将执行生成新服务主密钥需要的合适的解密和加密方法,而且可以使加密层次结构保持完整。服务主密钥也用于加密其下的数据库主密钥。...

    SQL Server数据加密功能解析

    数据加密是数据库被破解、物理介质被盗、备份被窃取的后一道...因此,折中的方法是使用对称密钥加密数据,使用非对称密钥加密对称密钥。这样既保证高性能,又提高密钥的可靠性。  同样,SQL Server 使用了折中的方

    Microsoft SQL Server 2005 Express Edition SP3

    Windows 加密服务提供程序 (CSP) 是执行身份验证、编码和加密服务的代码,基于 Windows 的应用程序通过 Windows Server 2003 中的 CryptoAPI 访问这些服务。如果停止或禁用 CSP 服务,则 SQL Server 安装程序会失败...

    SQL Server 2008高级程序设计 4/6

     19.7书和非对称密钥  19.8 小结 第20章 设计性能卓越的数据库  20.1 优化时机  20.2 选择索引  20.3 客户端和服务器端处理的对比  20.4 策略上的反规范化  20.5 合理组织存储过程  20.6 使用临时表...

    SQL Server 2008高级程序设计 2/6

     19.7书和非对称密钥  19.8 小结 第20章 设计性能卓越的数据库  20.1 优化时机  20.2 选择索引  20.3 客户端和服务器端处理的对比  20.4 策略上的反规范化  20.5 合理组织存储过程  20.6 使用临时表...

    SQL Server 2008高级程序设计 1/6

     19.7书和非对称密钥  19.8 小结 第20章 设计性能卓越的数据库  20.1 优化时机  20.2 选择索引  20.3 客户端和服务器端处理的对比  20.4 策略上的反规范化  20.5 合理组织存储过程  20.6 使用临时表...

    SQL Server 2008高级程序设计 5/6

     19.7书和非对称密钥  19.8 小结 第20章 设计性能卓越的数据库  20.1 优化时机  20.2 选择索引  20.3 客户端和服务器端处理的对比  20.4 策略上的反规范化  20.5 合理组织存储过程  20.6 使用临时表...

    SQL Server 2008高级程序设计 6/6

     19.7书和非对称密钥  19.8 小结 第20章 设计性能卓越的数据库  20.1 优化时机  20.2 选择索引  20.3 客户端和服务器端处理的对比  20.4 策略上的反规范化  20.5 合理组织存储过程  20.6 使用临时表...

    SQL Server 2008高级程序设计 3/6

     19.7书和非对称密钥  19.8 小结 第20章 设计性能卓越的数据库  20.1 优化时机  20.2 选择索引  20.3 客户端和服务器端处理的对比  20.4 策略上的反规范化  20.5 合理组织存储过程  20.6 使用临时表...

    AES对称密钥加密

    本说明中有一个示例和有关高级加密标准(也称为AES)的对称密钥加密的一些观察。

    SQLserver数据库管理系统需求分析.doc

    3、SQL Server 2008的新功能及知识介绍 (一)、可信任的 保护你的信息 在过去的SQL Server 2005的基础之上,SQL Server 2008做了以下方面的增强来扩展它的安全性: * 简单的数据加密 SQL Server 2008可以对整个...

Global site tag (gtag.js) - Google Analytics