sys.symmetric_keys (Transact-SQL)
对于使用 CREATE SYMMETRIC KEY 语句创建的每个对称密钥,返回与其对应的一行。
列名 |
数据类型 |
说明 |
---|---|---|
name |
sysname |
密钥的名称。在数据库中是唯一的。 |
principal_id |
int |
拥有密钥的数据库主体的 ID。 |
symmetric_key_id |
int |
密钥的 ID。在数据库中是唯一的。 |
key_length |
int |
密钥的长度(位)。 |
key_algorithm |
char(2) |
密钥使用的算法: R2 = RC2 R4 = RC4 D = DES D3 = Triple DES DT = TRIPLE_DES_3KEY DX = DESX A1 = AES 128 A2 = AES 192 A3 = AES 256 NA = EKM 密钥 |
algorithm_desc |
nvarchar(60) |
对于密钥所用算法的说明: RC2 RC4 DES Triple_DES TRIPLE_DES_3KEY DESX AES_128 AES_192 AES_256 NULL(仅限于可扩展密钥管理算法) |
create_date |
datetime |
密钥的创建日期。 |
modify_date |
datetime |
密钥的修改日期。 |
key_guid |
uniqueidentifier |
与密钥关联的全局唯一标识符 (GUID)。对于持久化密钥,此标识符是自动生成的。临时密钥的 GUID 从用户提供的密码中派生。 |
key_thumbprint |
sql_variant |
密钥的 SHA-1 哈希。该哈希是全局唯一的。对于非可扩展密钥管理密钥,此值将为 NULL。 |
provider_type |
nvarchar(120) |
加密提供程序的类型: CRYPTOGRAPHIC PROVIDER = 可扩展密钥管理密钥 NULL = 非可扩展密钥管理密钥 |
cryptographic_provider_guid |
uniqueidentifier |
加密提供程序的 GUID。对于非可扩展密钥管理密钥,此值将为 NULL。 |
cryptographic_provider_algid |
sql_variant |
加密提供程序的算法 ID。对于非可扩展密钥管理密钥,此值将为 NULL。 |
注释
不推荐使用 RC4 算法。后续版本的 Microsoft SQL Server 将删除该功能。请不要在新的开发工作中使用该功能,并尽快修改当前还在使用该功能的应用程序。
关于 DES 算法的说明:
DESX 的命名不正确。使用 ALGORITHM = DESX 创建的对称密钥实际上使用的是具有 192 位密钥的 TRIPLE DES 密码。不提供 DESX 算法。后续版本的 Microsoft SQL Server 将删除该功能。请避免在新的开发工作中使用该功能,并着手修改当前还在使用该功能的应用程序。
使用 ALGORITHM = TRIPLE_DES_3KEY 创建的对称密钥使用的是具有 192 位密钥的 TRIPLE DES。
使用 ALGORITHM = TRIPLE_DES 创建的对称密钥使用的是具有 128 位密钥的 TRIPLE DES。