The Wayback Machine - http://web.archive.org/web/20121027184921/http://msdn.microsoft.com:80/zh-tw/library/ms189507(v=sql.90).aspx
本主題尚未接受評分 - 為這個主題評分

DecryptByAsymKey (Transact-SQL)

利用非對稱金鑰為資料解密。

主題連結圖示 Transact-SQL 語法慣例


DecryptByAsymKey ( 
                                  Asym_Key_ID , 
                 { 'ciphertext' | @ciphertext } 
                 [ , 'Asym_Key_Password' ]
                                  )
Asym_Key_ID

這是資料庫中的非對稱金鑰識別碼。 int.

ciphertext

這是已經利用非對稱金鑰加密的資料字串。

@ciphertext

varbinary 類型的變數,其中包含已經利用非對稱金鑰加密的資料。

Asym_Key_Password

這是為資料庫中非對稱金鑰加密所用的密碼。

varbinary,大小上限為 8,000 位元組。

相對於利用對稱金鑰來加密/解密,利用非對稱金鑰來加密/解密的成本相當高。如果您是使用大型資料集 (例如,資料表中的使用者資料),不建議您使用非對稱金鑰。

下列範例將為已經利用非對稱金鑰 JanainaAsymKey02 加密的加密文字解密,該金鑰儲存在 AdventureWorks.ProtectedData04 中。傳回的資料則是利用非對稱金鑰 JanainaAsymKey02 解密,而該金鑰已經利用密碼 pGFD4bb925DGvbd2439587y 進行解密。純文字會轉換為 nvarchar 類型。

SELECT CONVERT(nvarchar(max),
    DecryptByAsymKey( AsymKey_Id('JanainaAsymKey02'), 
    ProtectedData, N'pGFD4bb925DGvbd2439587y' )) 
AS DecryptedData 
FROM [AdventureWorks].[Sales].[ProtectedData04] 
WHERE Description = N'encrypted by asym key''JanainaAsymKey02''';
GO
本文對您有任何幫助嗎?
(剩餘 1500 個字元)
社群內容 新增