The Wayback Machine - http://web.archive.org/web/20140109023414/http://msdn.microsoft.com:80/zh-tw/library/ms188910(v=sql.90).aspx
匯出 (0) 列印
全部展開
Expand Minimize
本主題尚未接受評分 - 為這個主題評分

DecryptByPassPhrase (Transact-SQL)

將以密碼片語加密的資料解密。

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


DecryptByPassPhrase (
                       { 'passphrase' | @passphrase } 
                                              , { 'ciphertext' | @ciphertext }
                       [ 
                                                    , { add_authenticator | @add_authenticator }
                                                    , { authenticator | @authenticator } 
                       ]                   
                                        ) 
passphrase

這是要用來產生解密金鑰的密碼片語。

@passphrase

這是 nvarchar、char、varchar 或 nchar 類型的變數,其中包含用來產生解密金鑰的密碼片語。

'ciphertext'

這是要解密的加密文字。

@ciphertext

這是包含加密文字之 varbinary 類型的變數。大小上限是 8,000 位元組。

add_authenticator

指出驗證器是否要與純文字一起加密。如果使用驗證器,則為 1。 int.

@add_authenticator

指出驗證器是否要與純文字一起加密。如果使用驗證器,則為 1。 int.

authenticator

這是驗證器資料。 sysname.

@authenticator

這是含有要衍生驗證器之資料的變數。

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

執行這個函數不需要任何權限。

如果使用錯誤的密碼片語或驗證器資訊,則傳回 NULL。

密碼片語是用來產生解密金鑰,它不會保存下來。

當對加密文字進行加密時包含了驗證器,則解密時必須提供驗證器。如果在解密時提供的驗證器值不符合與資料一起加密的驗證器值,則解密會失敗。

下列範例會將 EncryptByPassPhrase 中更新的記錄解密。

USE AdventureWorks;
-- Get the pass phrase from the user.
DECLARE @PassphraseEnteredByUser nvarchar(128);
SET @PassphraseEnteredByUser 
= 'A little learning is a dangerous thing!';

-- Decrypt the encrypted record.
SELECT CardNumber, CardNumber_EncryptedbyPassphrase 
    AS 'Encrypted card number', CONVERT(nvarchar,
    DecryptByPassphrase(@PassphraseEnteredByUser, CardNumber_EncryptedbyPassphrase, 1 
    , CONVERT(varbinary, CreditCardID)))
    AS 'Decrypted card number' FROM Sales.CreditCard 
    WHERE CreditCardID = '3681';
GO
本文對您有任何幫助嗎?
(剩餘 1500 個字元)

社群新增項目

新增
顯示:
© 2014 Microsoft. 著作權所有,並保留一切權利。