sql server 2005 T-SQL ALTER SYMMETRIC KEY (Transact-SQL)

更改对称密钥的属性。

主题链接图标 Transact-SQL 语法约定

ALTER SYMMETRIC KEY Key_name <alter_option>

<alter_option> ::=
ADD ENCRYPTION BY <encrypting_mechanism> [ , ... n ]
|
DROP ENCRYPTION BY <encrypting_mechanism> [ , ... n ]

<encrypting_mechanism> ::=
CERTIFICATE certificate_name
|
PASSWORD = 'password'
|
SYMMETRIC KEY Symmetric_Key_Name
|
ASYMMETRIC KEY Asym_Key_Name
Key_name

要更改的对称密钥在数据库中所使用的名称。

ADD ENCRYPTION BY

使用指定的方法添加加密。

DROP ENCRYPTION BY

通过指定的方法删除加密。您不能从对称密钥中删除所有的加密。

CERTIFICATE Certificate_name

指定用于对对称密钥进行加密的证书。该证书必须已存在于数据库中。

PASSWORD = ' password '

指定用于对对称密钥进行加密的密码。

SYMMETRIC KEY Symmetric_Key_Name

指定用于对要更改的对称密钥进行加密的对称密钥。该对称密钥必须已存在于数据库中,并且必须打开。

ASYMMETRIC KEY Asym_Key_Name

指定用于对要更改的对称密钥进行加密的非对称密钥。此非对称密钥必须已经存在于数据库中。

注意:
当使用密码(而不是数据库主密钥的公钥)对对称密钥进行加密时,便会使用 TRIPLE_DES 加密算法。因此,用强加密算法(如 AES)创建的密钥本身受较弱算法的保护。

若要更改对称密钥的加密,请使用 ADD ENCRYPTION 和 DROP ENCRYPTION 短语。密钥始终不可能完全不进行加密。因此,最佳实践是在删除旧加密格式之前添加新的加密格式。

若要更改对称密钥的所有者,请使用 ALTER AUTHORIZATION

要求对对称密钥具有 ALTER 权限。如果使用证书或非对称密钥添加加密,则要求对证书或非对称密钥具有 VIEW DEFINITION 权限。如果使用证书或非对称密钥删除加密,则要求对证书或非对称密钥具有 CONTROL 权限。

以下示例更改用于保护对称密钥的加密方法。当创建对称密钥 JanainaKey043 时,使用证书 Shipping04 对该密钥进行加密。由于密钥始终不可能在不加密的情况下进行存储,因此在本例中,首先使用密码添加加密,然后使用证书删除加密。

CREATE SYMMETRIC KEY JanainaKey043 WITH ALGORITHM = AES_256 
ENCRYPTION BY CERTIFICATE Shipping04;
-- Open the key.
OPEN SYMMETRIC KEY JanainaKey043 DECRYPTION BY CERTIFICATE Shipping04
WITH PASSWORD = 'pGFD4bb925DGvbd2439587y';
-- First, encrypt the key with a password.
ALTER SYMMETRIC KEY JanainaKey043
ADD ENCRYPTION BY PASSWORD = '4350$98fdlxk4Bj9oFD9h4';
-- Now remove encryption by the certificate.
ALTER SYMMETRIC KEY JanainaKey043
DROP ENCRYPTION BY CERTIFICATE Shipping04;
CLOSE SYMMETRIC KEY JanainaKey043
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值