DECRYPTBYASYMKEY (Transact-SQL)
利用非對稱金鑰為資料解密。
語法
DecryptByAsymKey (Asym_Key_ID , { 'ciphertext' | @ciphertext }
[ , 'Asym_Key_Password' ] )
引數
Asym_Key_ID
這是資料庫中的非對稱金鑰識別碼。 Asym_Key_ID 是 int。ciphertext
這是已經利用非對稱金鑰加密的資料字串。@ciphertext
varbinary 類型的變數,其中包含已經利用非對稱金鑰加密的資料。Asym_Key_Password
這是為資料庫中非對稱金鑰加密所用的密碼。
傳回類型
varbinary,大小上限為 8,000 位元組。
備註
相對於利用對稱金鑰來加密/解密,利用非對稱金鑰來加密/解密的成本相當高。 如果您是使用大型資料集 (例如,資料表中的使用者資料),不建議您使用非對稱金鑰。
權限
需要非對稱金鑰的 CONTROL 權限。
範例
下列範例將為已經利用非對稱金鑰 JanainaAsymKey02 加密的加密文字解密,該金鑰儲存在 AdventureWorks2012.ProtectedData04 中。 傳回的資料則是利用非對稱金鑰 JanainaAsymKey02 解密,而該金鑰已經利用密碼 pGFD4bb925DGvbd2439587y 進行解密。 純文字會轉換為 nvarchar 類型。
SELECT CONVERT(nvarchar(max),
DecryptByAsymKey( AsymKey_Id('JanainaAsymKey02'),
ProtectedData, N'pGFD4bb925DGvbd2439587y' ))
AS DecryptedData
FROM [AdventureWorks2012].[Sales].[ProtectedData04]
WHERE Description = N'encrypted by asym key''JanainaAsymKey02''';
GO
請參閱
參考
ENCRYPTBYASYMKEY (Transact-SQL)
CREATE ASYMMETRIC KEY (Transact-SQL)
ALTER ASYMMETRIC KEY (Transact-SQL)
DROP ASYMMETRIC KEY (Transact-SQL)