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
分享到:
相关推荐
不同于对称密钥,非对称密钥不能简单地备份到文件,因此一旦在SQL Server中创建,就难以在其他数据库中复用相同的密钥,这在一定程度上增加了管理的复杂性。 创建非对称密钥是通过`CREATE ASYMMETRIC KEY`命令实现...
以下是一个使用非对称密钥加密和解密数据的例子: ```sql -- 创建需要加密的数据 CREATE TABLE BankUser ( PKID int PRIMARY KEY IDENTITY(1,1), UserNo varbinary(1000) NULL, CurState datetime NOT NULL ) --...
本文详细介绍了如何在SQL Server 2012中使用非对称密钥进行数据的加密与解密操作,包括创建非对称密钥、创建加密和解密函数以及非对称密钥的管理等关键步骤。通过这种方式,可以有效地提高数据的安全性和隐私保护...
SQL 非对称密钥 创建、删除、加密、解密、全部密匙查看等。
在SQL Server中进行DES加密是保护敏感数据的一种常见方法,特别是在C#应用程序中与数据库交互时。DES(Data Encryption Standard)是一种对称加密算法,它使用相同的密钥进行加密和解密,提供了一种相对快速的数据...
困此,使用对称密钥加密数据更快,并且用在大数据时更加合适。尽管复杂度是考虑使用它的因素,但它仍然是一个很好的加密数据的选择。 我们看一组例子: 示例一、创建对称密钥 对称密钥的特性是:在数据库会话中...
因为可以备份然后从文件中载入它们,证书比非对称密钥更易于移植,而非对称密钥却做不到。这意味着可以在数据库中方便地重用同一个证书。 注意:证书和非对称密钥同样的消耗资源。 我们看一组例子: 示例一、创建...
需要学习如何使用SQL Server 2008提供的安全功能,如证书和非对称密钥的加密技术,确保数据传输和存储的安全。 5. 使用SQL Server 2008数据仓库:数据仓库的构建在SQL Server 2008中得到了改善。学习如何创建和维护...
2. **调整服务器配置**:在SQL Server中,检查并更新SSL设置,确保服务器支持的加密套件和客户端驱动相匹配。可以使用`sp_configure`系统存储过程和`ssl_cipher_suite`选项进行配置。 3. **修改客户端设置**:如果...
综上所述,SQL Server 2005 的数据加密功能极大地提升了数据的安全性,通过对称式加密、非对称密钥加密和数字证书等多种加密技术,结合层次化的密钥管理机制,使得数据保护变得更加全面。此外,通过内置的加密支持,...
接下来,SQL Server 2008提供了一种层次化的密钥管理策略,支持多种加密手段,如对称密钥、非对称密钥和数字证书,满足不同数据加密需求。在密钥管理上,它能够自动管理密钥,极大地简化了管理员的操作,降低了密钥...
SQL Server 2008支持上述算法,并允许使用对称密钥、非对称密钥、密码或证书进行加密。 - 非对称加密:使用两个密钥,一个是加密的公钥,另一个是解密的私钥,它们组合成一对密钥。非对称加密由于其加密和解密的...
在某些高级配置中,DEK还可以利用硬件安全模块(HSM)中的非对称密钥和外部密钥管理(EKM)来增强安全性。 启用TDE的过程相对简单。首先,需要确保主数据库中存在数据库主密钥(如果不存在,则创建),然后创建一个...
数字证书结合非对称密钥加密,通过数字签名将公钥与私钥与持有者关联,提升数据完整性和防篡改能力。SQL Server 2005遵循IETF X.509v3规范,支持使用外部生成或自生的证书,增强数据验证机制。 #### 多级密钥管理...
SQL Server 2005中的加密技术主要基于服务主密钥(Service Master Key, SMK)、数据库主密钥(Database Master Key, DMK)以及非对称密钥(Asymmetric Key)和证书(Certificate)等组件。下面将详细介绍这些概念...
2. 非对称密钥加密(Asymmetric Key Encryption):非对称加密使用一对公钥和私钥,公钥可广泛分享,私钥则需保密。当需要对外发送加密数据时,非对称加密更为合适。SQL Server 2005支持RSA算法,并提供了不同强度的...
在实际操作中,一般不直接使用加密强度大的非对称密钥或证书来加密数据,而是先用对称密钥加密数据以获取高效率,然后再使用证书或非对称密钥来加密对称密钥。这种多级密钥机制有效保护了SQL Server内部的密钥和数据...
在SQL Server中,我们可以使用`CERTIFICATE`或`ASYMétrIC KEY`对象来创建和管理非对称密钥。 ```sql -- 创建证书 CREATE CERTIFICATE MyCertificate WITH SUBJECT = 'My Certificate', EXPIRY_DATE = '2030-12-31'...
2. 非对称密钥加密(Asymmetric Key Encryption):使用一对公钥和私钥,加密时用公钥,解密时用私钥。当需要向服务器外部传输加密数据时,非对称加密更为合适。SQL Server 2005支持RSA算法,并支持512位、1024位和...